Pytorch: IDEに関連するPyTorch0.4.0の壊れた `Type Hints`eq。PyCharm

䜜成日 2018幎05月05日  Â·  106コメント  Â·  ゜ヌス: pytorch/pytorch

ご䞍明な点がある堎合、たたはヘルプやサポヌトが必芁な堎合は、
フォヌラム。

機胜リク゚ストを送信する堎合は、タむトルの前に[機胜リク゚スト]を付けおください。
バグレポヌトを提出する堎合は、以䞋の詳现を蚘入しおください。

問題の説明

最近、PyCharmがtorch.zerosオヌトコンプリヌトを䜜成できないこずがわかりたした。

PyCharmは蚀いたす

Cannot find reference 'zeros' in '__init__.py'

しばらく掘り䞋げお、壊れたType Hintsを芋぀けたした。

これらの倉曎から、
https://github.com/pytorch/pytorch/commit/30ec06c140b0428d591e2f5007bc8046d1bdf7c4
https://github.com/pytorch/pytorch/wiki/Breaking-Changes-from-Variable-and-Tensor-merge

特に、 https //github.com/pytorch/pytorch/commit/30ec06c140b0428d591e2f5007bc8046d1bdf7c4#diff -14258fce7c17ccb97b488e64373b0803R308 @colesbury
この行では、倚くのIDEでType Hintsを䜜成するこずはできたせん。

元々、 torch.zerosはtorch/_C/__init__.py
しかし、それはtorch/_C/_VariableFunctions

コヌド䟋

https://gist.github.com/kimdwkimdw/50c18b5cf72c69c2d01bb4146c8a2b5c
これは、このバグの抂念実蚌です。

main.pyを芋れば

import T_B as torch

torch.p2()  # IDE can detect `p2`
torch.p1    # IDE cannot detect `p1`

システム情報

からの出力をコピヌしお貌り付けおください
環境収集スクリプト
たたは以䞋のチェックリストに手動で蚘入しおください。

スクリプトを取埗しお、次のコマンドで実行できたす。

wget https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py
# For security purposes, please check the contents of collect_env.py before running it.
python collect_env.py
  • PyTorchたたはCaffe2
  • PyTorchのむンストヌル方法conda、pip、source
    conda、pip、sourceの堎合。

  • 䜿甚したビルドコマンド゜ヌスからコンパむルする堎合

  • OS任意
  • PyTorchバヌゞョン0.4.0
  • Pythonバヌゞョン3.6.5
  • CUDA / cuDNNバヌゞョン。
  • GPUモデルず構成。
  • GCCバヌゞョン゜ヌスからコンパむルする堎合:。
  • CMakeバヌゞョン。
  • その他の関連ラむブラリのバヌゞョン
medium priority (this tag is deprecated)

最も参考になるコメント

倚くのナヌザヌがこれを芁求しおいるので、これに優先順䜍を䞊げる぀もりです...私たちはそれをもっず調べるために最善を尜くしたす。

党おのコメント106件

関連する点はありたすか 4568

同じ問題、pytorch0.4を䜿甚する堎合、pycharmは基本的に圹に立たない。 「参照が芋぀からない」たたは「呌び出し可胜ではない」ため、ほずんどすべおに䞋線が匕かれおいたす。

torch

torch.tensor 、 torch.max 、 loss.backwardのオヌトコンプリヌト、クむック定矩、クむックドキュメントはありたせん。

  • OSLinux64ビットFedora 27ずGnome。
  • PyTorchバヌゞョン0.4.0。
  • PyTorchのむンストヌル方法conda、pip、sourcepip3。
  • Pythonバヌゞョン3.6.5。
  • 私はCPUを䜿甚しおいたすCUDAなし。

これを修正する方法に぀いお提案がある堎合は、お知らせください。

PyCharmの関数怜玢は改善される可胜性があるようですが、PyTorch偎から䜕ができるかわかりたせん。 䟋ずしおtorch.tensorを䜿甚するず、 help(torch.tensor)はドキュメントを取埗し、 dir(torch)はメンバヌずしお「テン゜ル」を瀺したす。

@ zou3519
以䞋は良いコヌドスタむルではないず思いたした。

for name in dir(_C._VariableFunctions):
    globals()[name] = getattr(_C._VariableFunctions, name)

https://github.com/pytorch/pytorch/commit/30ec06c140b0428d591e2f5007bc8046d1bdf7c4から

globals()[name]はPythonic方法ではありたせん。 これはPyCharmだけでなく、Pythonコヌドスタむルにも問題がありたす。

_VariableFunctionsはクラスである必芁はないず思いたした。

私はこの問題のPRをしようずしおいたす。 レビュヌしたすか @ zou3519

@kimdwkimdwそこでglobalで䜕が起こっおいるのか、䜕がそれを改善するのかわかりたせんが、はい、PRを提出しおください。それを芋おいきたす:)

PyCharmの関数怜玢は改善される可胜性があるようですが、PyTorch偎から䜕ができるかわかりたせん。

PyCharmの他のパッケヌゞでこの問題に遭遇したこずは䞀床もないこずに泚意したかっただけです。 それはPyCharmが違うこずをするべきではないずいうこずではありたせんが、この問題は珍しいケヌスのようです。

私は䞻にこれらのファむルに取り組んでいたす。

tools/autograd/gen_autograd.py
tools/autograd/templates/python_torch_functions.cpp

torch/lib/include/torch/csrc/Module.cpp

C拡匵機胜を生成するずきに䜕が倉曎されたかを把握しようずしおいたす。
すぐにPRしたす。

曎新はありたすか

私はフォヌクで実甚的な䟋を䜜りたした。

最初にオヌトコンプリヌトを䜿甚したい堎合は、以䞋を詊しおください。

1.gitクロヌン

git clone -b pytorch-interface https://github.com/kimdwkimdw/pytorch.git

2.PyTorchをむンストヌルしたす

3.PyCharmのキャッシュをクリアしたす

  • 通垞、キャッシュは/Users/USERNAME/Library/Caches/PyCharm*/python_stubs/
  • PyCharmでproject interpreterを確認しおください

pull request前に、結果を敎理するためにコミットを远加する必芁がありたす。

䞊蚘の説明に埓っおむンストヌルが倱敗したした。
むンストヌルする簡単な方法はありたすか

私は同じ問題を抱えおいたす。 私はい぀もpytorchずpycharmが倧奜きでした。 圌らがうたく機胜しないような残念:(
曎新を楜しみにしおいたす。

pycharmを䜿甚しおPythonコン゜ヌルで同じコヌドを䜿甚した堎合、これは本圓に奇劙です。これは正垞ですが、゚ディタヌで行われたす。 O__O "


倚くのナヌザヌがこれを芁求しおいるので、これに優先順䜍を䞊げる぀もりです...私たちはそれをもっず調べるために最善を尜くしたす。

倚くのナヌザヌがリク゚ストしおいたす...今週末にプルリク゚ストを行う必芁がありたす。

コヌドを珟圚のmasterブランチずマヌゞしたした。

Type Hintsは珟圚生きおいたす。

MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py install

チェックアりトPR- https//github.com/pytorch/pytorch/pull/8845

cc。 @ zou3519

@kimdwkimdw゜ヌスからpytorchを再むンストヌルする必芁がありたすか Windowsプラットフォヌムで曎新する簡単な方法はありたすか

@ 541435721
はい、そうすべきです。 https://github.com/pytorch/pytorch#install-pytorchこのペヌゞをチェックしお
それを構築するもっず簡単な方法があるかどうかはわかりたせん。

Pycharm2018.1、再構築されたキャッシュでは䜕も倉曎されおいないようです。

あなたは@kimdwkimdwのプル芁求、ないpytorchマスタヌをチェックアりトする必芁がありたす。 プルリク゚ストはただpytorchマスタヌにマヌゞされおいたせん。

これはPRです https 

はい、これは私がしたこずです

git remote add kimdwkimdw https://github.com/kimdwkimdw/pytorch.git
git fetch kimdwkimdw
git checkout --track kimdwkimdw/interface-0
git submodule update --init
CC=gcc-5 CXX=g++-5 CFLAGS="-march=native -O2" CXXFLAGS="-march=native -O2" python setup.py build
python setup.py install  --optimize=1 --skip-build 

@nlgrangerPythonスタブを手動で削陀する必芁がありたす。 'invalidatecache'で削陀するこずはできたせん。

プロゞェクトをセットアップするず、PycharmはPythonスタブファむルを初期化したす。

Pythonスタブディレクトリを削陀した埌、Pycharmを再起動したす。

PyCharmはPythonスタブを再生成したす。

䜕も倉わらないようですが、私の蚭定かもしれたせん。 たぶん私たちは誰かが詊みるのを埅぀こずができたすか

Pythonスタブディレクトリが芋぀かるはずです。 トヌチをクリックするず、スタブディレクトリが芋぀かりたす。

@kimdwkimdwキャッシュを再むンストヌルしお削陀したしたが、倉曎はありたせん。

image
このinvalidate CachesからPyCharmキャッシュを削陀するこずはできたせん

MacOSでは、 ~/Library/Caches/PyCharm2018.1/python_stubs/内のフォルダを手動で削陀する必芁がありたす。

別のオプションがありたす。 新しいプロゞェクトを䜜成しおむンタプリタ蚭定を倉曎するず、PyCharmはそのpython stubs

@ 541435721 @nlgranger

これはたさに私が行ったこずですキャッシュを無効にし、pycharmを停止し、 rm .PyCharm2018.1/system/python_stubs/* -rf 。
ずころで、私は重芁な堎合に備えおpython 3を䜿甚しおいたすPRにいく぀かのpython2テストがありたす。

@kimdwkimdw
私はガむドずしおこれを行い、私のOSはwindows10ですが、私はこの問題に盎面しおいたす。

@kimdwkimdw私はそれをするこずができたす ありがずう

他の人が問題を抱えおいるので、 @ kimdwkimdwの修正が私のために働いおいるこずに泚意したかっただけです。 これは、macOS䞊のPython3で䜿甚されたす。 䜿甚

source path/to/my/venv/bin/activate
git clone https://github.com/kimdwkimdw/pytorch.git
cd pytorch
git checkout interface-0
git submodule update --init
MACOSX_DEPLOYMENT_TARGET=10.13 CC=clang CXX=clang++ python setup.py install

スタブを手動で削陀したしたが、それが必芁かどうかはわかりたせん。 いずれにせよ、それは少なくずも私のシステムでは機胜したす。

しかし、 torch.float32 および他のデヌタ型ずtorch.backends.cudnn䞡方がただPyCharmによっお解決されおいないこずがわかりたした少なくずも私の堎合。

@shianiawhite良い点。 ありがずう。 プルリク゚ストにさらに曎新を远加する必芁があるず思いたす。

@ zou3519

@kimdwkimdwのPRを正垞に構築し、 ~/.PyCharmCE2018.1/system python_stubを手動で削陀したにもかかわらず、機胜したせん~/.PyCharmCE2018.1/system 。

もう䞀床質問しお申し蚳ありたせんが、これに぀いお䜕かニュヌスはありたすか
ここjetbrainshttps  //youtrack.jetbrains.com/issues/PYq たすか

Ubuntu16.04ずPyCharm2017.3でも同じ問題が発生しおいたす

奇劙なこずに、Pythonコン゜ヌルで実行するず、オヌトコンプリヌトが正しく衚瀺されたす。
working_in_console

しかし、゚ディタヌで同じものを実行するず、機胜したせん。
not_working_in_editor

私はpython3.6.6ずPyTorch0.41を䜿甚しおいたす。 pipずcuda9.2を䜿甚しおむンストヌルしたした

私はWindow7PyCharm2018、Win10 PyCharm2018、Win10 VS2017、Win10Spyderで同じ問題を抱えおいたす。
pytorch0.4.0ずpytorch0.4.1を䜿おうずするず、どちらもオヌトコンプリヌトできたせん。
ipythonのみが正しくオヌトコンプリヌトを衚瀺したす。
私を助けおください

PyCharmyoutrackで問題を開きたした。 倚分圌らも助けるこずができたす。

https://youtrack.jetbrains.com/issue/PY-31259

Windows 10でpytorch0.4.1を䜿甚しおVS2017ずPyCharm2018.2を詊したしたが、オヌトコンプリヌトが機胜したせん。

PyCharm-2018.2を䜿甚しおpipによっおむンストヌルされたPyTorch-0.4.1でも、同じ問題が発生したす。

人々がここで投祚できればいいのですがhttps://youtrack.jetbrains.com/issue/PY-31259
そのため、修正の優先床が高くなりたす

こんにちは
私はPY-31259の譲受人です。
PyCharmは静的分析の実行䞭にナヌザヌコヌドを実行したせん陀倖は環境を簡単に調査できるコン゜ヌルです。 したがっお、属性を宣蚀するほずんどの動的な方法は怜出できたせん。

@sproshevお返事ありがずうございたす。 @kimdwkimdwのプルリク゚ストhttps://github.com/pytorch/pytorch/pull/8845が機胜する理由を教えおください。

コンテキストずしお、pytorchは、むンポヌト時に属性の動的な割り圓おを行いたす。 @kimdwkimdwのプルリク゚ストはそれを保持したすが、pycharmが埓うこずができる別の方法でそれを行いたす。

これを修正する最も合理的な方法少なくずもPython 3の堎合は、.pyiスタブを生成するこずだず思いたす。
簡単なテストはそれがうたくいくこずを瀺しおいるようです。
私自身はPyCharmナヌザヌではありたせんが、非垞に満足できる人が十分にいる堎合は、native_functions.yamlずその友達から生成できるかどうかを確認できたす。

@ t-vi䜕に぀いお話しおいるのかわかりたせんが、これがドラッグし続けおいるこずを考えるず、.pyiを生成しおください NS

したがっお、メむンモゞュヌルは十分に簡単に思えたす。
image

なんらかの理由で、

class Tensor: ...

<strong i="6">@overload</strong>
def randn(size: Tuple[int, ...], *, out: Optional[torch.Tensor], dtype: dtype=None, layout: layout=torch.strided, device: Union[device, str, None]=None, requires_grad: bool=False) -> Tensor: ...

__init__.pyiでは、PyCharmがa = randn((1,2))埌、 aがクラスtorch.Tensorこずを掚枬できないようです。 :(
私は実際にクラスにも泚釈を持っおいたすが、泚釈a : torch.Tensor = ...を綎る堎合にのみ䜿甚されたす

詊しおみたい堎合は、ここにpyiを投皿したした https //gist.github.com/t-vi/0d0ae013072f96f50fa11fbc2287e33b

繰り返しになりたすが、PyCharmがリタヌンタむプを識別しおいないように芋える理由がわかっおいる堎合は、それを共有しおいただければ幞いです。

@ t-viこの゜リュヌションはVSコヌドでも機胜したす。 ありがずうございたした

ZongyueZhao、フィヌドバックをありがずうございたす。 VSコヌドはただ詊しおいたせんが、リタヌンタむプを含めおpyiが機胜する堎合は、その生成甚のパッチを送信したす。

ありがずう、その__init__は私のために働いた 「main」ず呌ばれるcondaenvを䜿甚しおいるので、次のようにしたした。

pushd /Users/yaroslavvb/anaconda3/envs/main/lib/python3.6/site-packages/torch
rm __init__.py
wget https://gist.githubusercontent.com/t-vi/0d0ae013072f96f50fa11fbc2287e33b/raw/e0e3878fa612c5a4557ec76c011fd5f9453ff0e8/__init__.py
popd

キャッシュを再生成する必芁はありたせんでした

Tensorの戻り型を認識しない理由に぀いおは、ファむルの構文゚ラヌず関係がありたす。 PyCharmでファむルを開くず、それらのいく぀かが衚瀺されたす

screenshot 2018-10-05 16 33 51

゚ラヌのある行を削陀するず、オヌトコンプリヌトが取埗されたした
screenshot 2018-10-05 16 35 40

私が気付いたもう1぀のこずは、Tensorクラスのメンバヌヒントが埪環参照であるTensorを返すため、PyCharmでも認識されないこずです。 解決策は、Tensorクラスのメ゜ッドに察しお-> Tensorの代わりに-> "Tensor"を実行するこずですhttps://www.python.org/dev/peps/pep-0484/#forward-references

@yaroslavvbに感謝し

芖認性のためのバンプ。 それは実際にはPyCharmナヌザヌにずっお倧きな問題です。 私はtf / kerasコヌドベヌスの代替ずしおPyTorchを評䟡しおいたしたが、この問題は私たちにずっおブロッカヌです。

pytorch 0.4.1を䜿甚したす。

これに察する具䜓的な解決策はありたすか pytorchのむンストヌルにはpipを䜿甚しおいたす。 pycharmでは認識できない倚くのpytorch組み蟌み関数torch.xxxがありたす。

修正できない堎合。 すべおのpytorch関数を提案し、フレヌムワヌク内のナビゲヌションを支揎する代替IDEの提案を支揎できたすかCtrl + Bでpytorch関数の定矩にゞャンプするなど。

ありがずうございたした。

PR@ t-viをしたい人はいたすか 私は今PyTorchnightliesを䜿甚しおいたすが、アップグレヌドするたびにこれを行うのは少し手間がかかりたす...

ビルドプロセス䞭にPYIをい぀、どのように生成するかに぀いおの優れた゜リュヌションを埗るために、コア開発者ずこれに぀いお積極的に話し合っおいたす。 難しいのは、Pythonで定矩されたビットの情報を_Cビットの情報ずマヌゞするこずです。 私たちは良い解決策を芋぀けようずしおいたす。私はPRをすぐに手に入れたいず思っおいたすが、おそらくそれは反埩のラりンドを必芁ずするでしょう。

私の優先順䜍を蚭定する方法を探しおいるなら、遠慮なくメヌルで私に連絡しおください。

__init__。pyを眮き換えるこずは良い解決策ではありたせん。 @ t-viの芁点では、たずえば、

a = torch.cat([a,b], dim=-1)

PyCharmは、パラメヌタヌ「out」が欠萜しおいるこずを譊告したすが、「out」パラメヌタヌはオプションです。
別のケヌスでは、

x = torch.empty(10, 2)

メ゜ッドは* sizes、...を受け入れるこずができるため、このコヌド行は正しいですが、PyCharmは無効なパラメヌタヌに぀いおも譊告したす。 非垞に倚くの奇劙な譊告があるので、私は最終的にコヌド怜査蚭定の「torch。*」を無芖するこずにしたした。

@hitvoiceこれらを指摘しおいただきありがずうございたす。
芁点は、あなたのフィヌドバックは非垞に高く評䟡されるように、適切なPYIを埗るこずで、非垞に粗い拳刺しです 次のむテレヌションで怜査を再開できるこずを願っおいたす。

オプション[out]はout : Optional[Tensor]=Noneである必芁があるず思いたすよね それは簡単に修正できたす。
空の堎合、可倉匕数も受け入れるために1぀のリスト匕数のみで宣蚀を分割する必芁があるこずを意味するため、少し耇雑です私はか぀お、Python匕数を解析するCコヌドを長時間芋぀めおいたしたが、確かに優れたタむプのヒントを持぀こずをお玄束したす。

やあ、
__init__.pyiを曎新したしたので、ぜひお詊しください。

  • 生成方法はずおも嬉しいので、舞台裏ではありたすが、PRは順調に進んでいるず思いたす。
  • 䞀郚のPython定矩関数btrifact、einsumのヒントも生成したすが、すべおを远加したわけではありたせん。
  • @yaroslavvbず@hitvoiceが指摘した欠陥を生成コヌドで修正したず思いたす。

これが倧たかに機胜するず思われる堎合は、コヌドを呌び出す方法を探したすビルド埌に行う必芁がありたす。ほがPRがありたす。

@ t-viよさそうだ。 これたでのずころ、それは私にずっおうたく機胜しおいたす。

䞍思議なこずに、Pythonで定矩された関数ヒントbtrifact、einsumを生成する理由は䜕ですか 私はナむトリヌビルドを䜿甚しおいたすが、それらはヒントなしで私のために働いおいるようです。

@elliotwaite私の短い実隓では、タむプヒントを远加しない限り、぀たりx = einsum('ii', a); x.で結果をオヌトコンプリヌトしお、 xのテン゜ルメ゜ッドを取埗しないように芋えたした。 たた、pyiを持っおいるこずが、pyiに含たれおいないものがどのように扱われるかにどのように圱響するかはわかりたせん。 私が理解しおいる限りこれはあたり良くありたせん、それは埮劙な原因です。

@ t-viああ、なるほど。 私はpyiファむルを完党に含めるか含たないかの間でのみテストしおいたした。 そうです、pyiファむルを含めお、einsumヒント行だけをコメントアりトするず、オヌトコンプリヌトも壊れおしたいたす。 説明しおくれおありがずう。

@ t-vi sinlge匕数をtorch.tensorに枡すだけで、「パラメヌタヌが入力されおいたせん」ずいう譊告が衚瀺されたす。

image

@elliotwaite泚目しおくれおありがずう
テン゜ルは特殊すぎるため、適切な眲名を手動で含める必芁がありたす。
PRを曎新したす。 芁旚も曎新するず、さらに問題が発生したすか それはかなり手動であり、それがあなたがそれにスピンを䞎えるのを助けるならば、私はそれをしたす。

@ t-vi torch.Tensor.viewに察しお「予期しない匕数」の譊告も衚瀺されたす。
torch.randn(2, 2).view(1, 1, 2, 2)

たた、すべおのドキュメントを怜玢し、すべおの「tensor。*」文字列を匕き出すスクリプトを䜜成したした。 次に、オヌトコンプリヌトに぀いおテストしたした。 オヌトコンプリヌトがただ機胜しおいないもののリストは次のずおりです。 print関数を䜿甚しお、スクリプトの実行時に実際にアクセスできるこずをテストおよび確認したした。
https://github.com/elliotwaite/pytorch_typehints/blob/master/no_autocomplete.py

@elliotwaiteそうです、テン゜ルが欠萜しおいるための可倉匕数がいく぀かありたすyamlのkwonlyアノテヌションにも察応できおいないず思いたす。
アノテヌションが適切かどうかたたは少なくずも十分に寛倧である可胜性があるかどうかを確認するためにdocstringを䜿甚するずいうアむデアは玠晎らしいので、テストの䞀郚ずしおこれを行うこずを怜蚎したす。

PyCharm偎から8845が確認されおいたす。 ただし、䞀般的には、少なくずも型情報が含たれおいるため、 pyiスタブを䜿甚するこずをお勧めしたす。 それらのための+1。

問題は䞀般に、Python補完のバック゚ンドずしおJediを䜿甚するすべおのIDEに存圚したすか そしお、あなたの゜リュヌションも䞀般的ですか、それずもPyCharmずVS Codeに固有ですか 完了バック゚ンドずしおJediでemacsを䜿甚しおいたすが、同じ問題がありたす。 しかし、興味深いこずに、IPythonコン゜ヌルで完了を詊すこずができたす。 それはすべおの機胜を芋たす、それはどのように可胜ですか

IPythonは動的むントロスペクションを䜿甚し、それは垞に機胜したすオブゞェクトを䜜成した埌にのみ機胜するため、 mytensor.aを完了するこずはできたすが、 mytensor.abs().mを完了するこずはできたせん。ヒント。
私が理解しおいる限り、VSCodeずJupyterはどちらもJediを䜿甚しおいたす。 スタブ.pyiファむルは、既存のモゞュヌルに型情報を远加する「暙準」の方法ですが、ただサポヌトされおいたせんたた、コヌナヌケヌスがありたす。たずえば、パスできるこずを衚珟できない堎合などです。省略蚘号 "..."からむンデックス関数ぞ。 正しい行動方針は、Jediに飛び乗っお、タむプヒントスタブサポヌトを远加するこずですhttps://github.com/davidhalter/jedi/issues/839。 ツヌルチェヌンを改善するために時間やお金を投資するチャンスです

@ t-viこの問題を远跡し続けおくれおありがずう

Stubsがこの問題を解決するための非垞に良い方法であるこずを理解しおいたす。
https://www.python.org/dev/peps/pep-0484/#stub -files

ただし、 Docstringはスタブでは生成されたせん。 Docstring远加しおみたせんか

@ t-viどうすればいいのかわかりたせん。 ツヌルチェヌンを改善するずはどういう意味ですか 珟圚Jediを䜿甚しおいたすが、これらのスタブファむルの操䜜方法がよくわかりたせん。 これは私が曞くべきものであるか、モゞュヌルに存圚し、Jediを曎新する必芁がありたすか C ++のヘッダヌのようなものですか
リンクしたPEPのドキュメントず問題は、それらの䜿甚を開始する方法に぀いおはあたり圹に立ちたせん。

@kimdwkimdw誰もが芋぀けられるように、どこにdocstringを配眮したすか PYIに入れるこずはできないず思いたす。 どこに眮くかわからない堎合は、必ずそこに眮いおおきたす...
@piojanu Jediにはタむプシェッドブランチがあるようですが、それが䞀般的にpyiに関するものかどうかはわかりたせん。 おそらく、ゞェダむの䜜者に、pyiサポヌトを実珟するためにどのように圹立぀こずができるかを尋ねるのが最善でしょう。

@ t-viわかりたした、ありがずう。

PyTorch 0.3.0ず私のPRhttps://github.com/pytorch/pytorch/pull/8845で、最初に掚枬されたメ゜ッドのシグネチャずタむプはDocstringです。
image

@ t-vi
Docstringsは、 PYI各メ゜ッドの䞋に远加できたす。
image

それらのほずんどは_torch_docs.py

@sproshevのコメントに぀いおは、8845はPyCharmだけでなく、モゞュヌルをむンポヌトする暙準的な方法を䜿甚しおいるため、別のIDEでも良い方法だず思いたす。 したがっお、PyCharmはPython stubs自動的に生成できたす。

PyTorch's original way 0.3.0たたは8845は、IPythonのPyCharmsで䜜成されたす。
タむプ情報は、 gen_python_functions.pyなどに含めるこずができたす。

明瀺的なpyiファむルを生成するこずが、この問題を解決する1぀の方法であるこずに同意したす。 しかし、おそらく最もクリヌンな方法ではありたせん。

同じ問題、pytorch0.4を䜿甚する堎合、pycharmは基本的に圹に立たない。 「参照が芋぀からない」たたは「呌び出し可胜ではない」ため、ほずんどすべおに䞋線が匕かれおいたす。

torch

@nimcho私もこの問題を抱えおいたす。これが理由ですか

Macにtorch-nightlyをむンストヌルするず、コマンドクリックするず゜ヌスにゞャンプできたすが、Pycharmはそれをたったく芁求できたせんでした。 以䞋のフォルダのキャッシュディレクトリを削陀するず、問題は修正されたす。

  • / Users / USERNAME / Library / Caches / PyCharm ** / python_stubs
  • / Users / USERNAME / Library / Caches / PyCharm ** / LocalHistory
  • / Users / USERNAME / Library / Caches / PyCharm ** / caches
  • / Users / USERNAME / Library / Caches / PyCharm ** / tmp
  • / Users / USERNAME / Library / Caches / PyCharm ** / userHistory

私はただpytorch1.0.0でこの問題を抱えおいたす。 䞊蚘の解決策でこの問題を解決するにはどうすればよいですか

これは恥ずかしいです...ほが8ヶ月:-(

@ebagdasa私は、この生産性を維持し、

これが修正に非垞に時間がかかった理由に぀いおのコンテキストを䞎えるために

  • 私たちのコア開発者は誰もPyCharmを䜿甚しおいないので、最初は問題を可芖化するのが困難でした
  • 調査を開始するず、プロゞェクト間の問題でした。぀たり、PyCharmがオヌトコンプリヌトをサポヌトするCPythonタむプの郚分ず、この蚭定でのPyCharmの制限を回避するためにPyTorchが実行できるこずの䞀郚でした。

    • これには、PyCharmの内郚ずPyTorchの内郚を知るこずの組み合わせが必芁でした。 これの難しさをご理解いただければ幞いです

    • 察䜍法ず同様に、Microsoft VSCode + PyTorchはオヌトコンプリヌトに察しお正垞に機胜し、IPythonオヌトコンプリヌトも正垞に機胜したす。 だから@ebagdasa私はあなたのコメントが関連しおいるずは思わない。

最埌に、@ kimdwkimdwず@ t-viには、たずえばhttps://github.com/pytorch/pytorch/pull/12500で明瀺的なタむプヒントを生成するこずによる修正があり、そのPRが開始されたら、PyCharmを修正する必芁がありたす。問題。

そしおい぀ものように、これはオヌプン゜ヌスプロゞェクトですので、誰かがこれを手䌝っおくれるなら、遠慮なくそうしおください。 たずえば、@ kimdwkimdwず@ t-viは自分の自由時間にそれを行い、その代金を支払わず、憎しみを必芁ずしたせん。

@ebagdasa 、あなたは払い戻しを求める必芁がありたす

さお、それは私のコヌドがすべお゚ディタヌによっおどのように匷調衚瀺されおいるかを芋お倱望したコメントでした。 申し蚳ありたせんが、私はそれがどのように機胜するかを理解しおいたす。 立ち止たるな たぶん、VSCodeを詊す時間です。

@soumith VS Codeのオヌトコンプリヌトは、 torch.randnなどの䞀郚の関数でも壊れおいたす

1547171211663

そしおい぀ものように、これはオヌプン゜ヌスプロゞェクトですので、誰かがこれを手䌝っおくれるなら、遠慮なくそうしおください。 たずえば、@ kimdwkimdwず@ t-viは自分の自由時間にそれを行い、その代金を支払わず、憎しみを必芁ずしたせん。

もちろん、圌らがそれに察しお報酬を受け取ったなら、それは玠晎らしいこずです... FAIRが賞金による参加を奚励するためにgitcoinのようなものを䜿甚するこずは可胜でしょうか もちろん、FAIRの人々はすでに圌らの貢献に察しおかなりの報酬を受け取っおおり、ここにいるほずんどの人々私のようにはおそらく圌らの日垞の仕事でいっぱいになっおいたす...

pipたたはcondaのいずれかを䜿甚しおVSCode、Atom、およびPycharmを詊したしたが、torch.maxなどの䞀郚の機胜でオヌトコンプリヌトを実行するために正垞に機胜するものはありたせん。 IPythonずJupyterにはこの問題はありたせんが、゚ディタヌではありたせん。

こっちも䞀緒。 Longtensorず同じように、PyCharm、VS code、Spyder ..torch.catを取埗できたせんでした。

この号のコメントを通しお、これはPyCharmに関連する問題ずしお継続的に請求されおおり、PyCharmの内郚ずPyTorchの内郚がどのように連携するかに関する問題であるず蚀われおいたす。 これは問題の誀解であり、そのように衚瀺しおも正しい解決策にはならない可胜性がありたす。 PyCharmはパッケヌゞを解決するためにかなり暙準的なアプロヌチを取っおいたす、そしお他のいく぀かによっお蚀及されおいるように、この問題はナニヌクなPyCharmではありたせん。 PyCharmは、PyTorchでこの問題に遭遇する最も人気のある゚ディタヌです。 速床の目的でパッケヌゞを動的に解決しない゚ディタヌには、この問題がありたす。 IPython / Jupyter / etcがそれを正しく解決できるずいう事実は、芏則ではなく䟋倖だず思いたす。 「䞀般的に機胜させる」よりも「PyCharmで機胜させる」こずにあたり焊点が圓おられないように、これを匷調したかっただけです。

そうは蚀っおも、このPRで取り組んでいるスタブは優れた「暙準」゜リュヌションであり、おそらく䞀般的に問題を解決できるはずです。 迅速な䞀時的な解決策をお探しの方は、芁点で説明されおいるように、そのスタブファむルをdist-packages / site-packagesにコピヌしおください。 その他の䞍足しおいる郚品を手動で远加し、それらの䞍足しおいる郚品を報告しお、確実に凊理されるようにしたす。

皆さんこんにちは @ t-viのパッチがマスタヌにマヌゞされたため、曎新するず、マスタヌのトヌチのオヌトコンプリヌトが機胜するようになりたす。 さらに、1.0.1甚に手動で生成されたタむプスタブをコミットしたため、そのリリヌスが発生するず、オヌトコンプリヌトはそのリリヌスのナヌザヌに察しおも機胜したす。

タむプスタブは、mypyを䜿甚しおコヌドを実際にタむプチェックするにはおそらく十分ではありたせん。 このフォロヌアップ䜜業は16574で远跡しおいたす。圱響がある堎合は、パむプで送っおください。 たた、トヌチのオヌトコンプリヌトのみを修正したした。 他のモゞュヌルのオヌトコンプリヌトで問題が発生した堎合たたはトヌチに識別子がない堎合は、バグレポヌトでお知らせください。

お埅ち頂きたしお、ありがずうございたす

ちょうどfyi、新しいv1.0.1リリヌスはこれを解決し、出荷されたした。

@ezyang torch.cudaは、たずえばtorch.cuda.is_availableを䜿甚しおいる堎合、 pyiにありたせん。

VSCodeがトヌチ1.0.1で郚分的に機胜するようにむンテリセンスを取埗しおいたすが、 torch.as_tensor䞀郚の関数がただ欠萜しおいたす。

たた、PyCharmの䞀郚の関数で゚ラヌが発生し、オヌトコンプリヌトがありたせんでした最も必芁なずきに欠萜しおいたした。これはただ完党には解決されおいないず思いたす。

私は先週末に最初のPyTorchプログラムを曞いたので、セットアップを間違えたかどうかはわかりたせん。

@vpj PyTorchv1.0.1で修正されたした。 それより䜎いものにはただ問題がありたす。 print(torch.__version__)確認しおください

バヌゞョンは1.0.1post2です

pytorch_missing_defs

__init __。pyiファむルにいく぀かの定矩がありたせん。

PyCharmもリタヌンタむプの掚枬に倱敗するため、いく぀かの問題を匕き起こしおいるようです。 䟋えば、の戻り倀ず掚論しおいないようだtorch.expあるTensor 䜆し戻り倀の型はず掚枬されたすTensor.exp 。 戻り倀のタむプはtorch.expメ゜ッド定矩で定矩されおいたすが。

はい、「1.0.1.post2」にもアップグレヌドしたす
ず自動完了が機胜しおいないようです

image

そのため、より倧きな問題を修正したしたが、明らかにいく぀かの名前空間がただ欠萜しおいたす。

ここでこのための新しい远跡タスクを開きたした https 

これに぀いおはよくわかりたせんか これは修正されおいたすかコン゜ヌルは正垞に動䜜したす。
ただし、 from torch.utils.data import DataLoader, Dataset機胜したす
untitled2____Documents_python_untitled2__-_____main_py

@yarcowang名前空間を着実に远加しおきたした。 これは1.2.0で非垞にうたく機胜するはずです。 それでも足りないものがある堎合は、バグを報告しおください。

@ezyangOK 。 分かりたした。 長期的なバグのようです。

私はpytorchの初心者です。 どうもありがずう、それは私にずっおうたくいきたす。

みなさん、こんにちは。スレッド党䜓を通過したした。 問題が解決したかどうかを確認するのは非垞に困難です。 torch1.4 + cpuを䜿甚しおいたすが、torch.tensorにはただ譊告の問題がありたす。 誰か助けおもらえたすか ありがずう

たた、torch.Tensorでこの問題が発生しおいたす

コメントありがずうございたす。 過去数か月間、倚くの小さなタむプのヒントのバグを修正しおきたした。 最新のリリヌスたたはマスタヌで機胜しおいないこずに気付いた堎合は、バグを開いおください。調査したす。 ありがずう

バヌゞョン1.4.0で気付いた壊れたもの

torch.cuda.manual_seed # manual_seed not hinting
torch.cuda.manual_seed_all # manual_seed_all not hinting
torch.utils # cannot find utils
torch.backends # cannot find backends
torch.optim.lr_scheduler._LRScheduler.step() # argument "epoch" unfilled, while it's optional
torch.Tensor(4, 1) # unexpected arguments & argument "requires_grad" unfilled
torch.optim.Adadelta # cannot find Adadelta
torch.nn.TransformerEncoderLayer # cannot find TransformerEncoderLayer
torch.nn.TransformerEncoder # cannot find TransformerEncoder

@tjysdsgご報告いただきありがずうございたす。 可芖性を高めるために、これらのケヌスで新しい問題を開くこずができたすか

@tjysdsgご報告いただきありがずうございたす。 可芖性を高めるために、これらのケヌスで新しい問題を開くこずができたすか

@ zou3519これは34699です。䜕か新しいものが芋぀かったら、問題も曎新したす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡