Torch Addin ファイルをモデルに変換する誰かが私よりもドキュメントを理解できる場合に備えてここに置きますが、私は Torch アドインから Python にモデル出力をロードしようとしています。これを実行できた人はいますか? 選択した特定のモデルの状態辞書をロードできればよいのですが、うまくいかないようです。
# %%
from pathlib import Path
import torch
from torchvision.models import efficientnet_b2
# %%
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model_path = Path(__file__).parent.parent/"models/VI Models/E353 EffNetB2 MLP DOR20"
model_paths = list(model_path.glob("*v1f1*.pt")) # just pick one model for now
# %%
model = efficientnet_b2(dropout=0.2).to(device)
# %%
model_paths[0].relative_to(model_path) # WindowsPath('tdl_jmp_v1f1_jnet.pt')
# %%
model_part = torch.jit.load(model_paths[0], map_location=device)
model_part
# %%
model.load_state_dict(model_part.state_dict())
# this fails with
# RuntimeError: Error(s) in loading state_dict for EfficientNet:
# Missing key(s) in state_dict: "features.0.0.weight", "features.0.1.weight", "features.0.1.bias", "features.0.1.running_mean", .... very long list
# Unexpected key(s) in state_dict: "0.0.0.weight", "0.0.1.weight", "0.0.1.bias", "0.0.1.running_mean", .... very long list
# %%
自動化とスクリプトRe: Torch Addin ファイルをモデルに変換する@vince_faller投稿ありがとう。
model_part = torch.jit.load(model_paths[0], map_location=device)
モデルは画像を予測する準備ができています。torchvision から efficientnet_b2 をインスタンス化して state_dict をロードする必要はありません。ジャストインタイムでコンパイルされたモデル ファイルには、モデル アーキテクチャとトレーニングされた重みの両方が含まれています。
画像テンソルを設定したら、model_part(image) を実行するだけです。その後、プーリング、埋め込み、最終線形予測の 3 つのステップが残ります。
中間出力を表示する手順を含む、エンドツーエンドのサンプルノートブックとサンプル画像を添付します。deploy_image_model.py のサフィックスを変更して、ファイル名を deploy_image_model.ipynb に変更してください。
Re: Torch Addin ファイルをモデルに変換するこれはドキュメントに記載されているものと同じで、あまり役に立ちません。アドイン ダイアログのスクリーンショットから、これらが何であるかをどうやって知るのでしょうか。たとえば、正規化方法や imagenet 正規化値を使用する方法をどうやって知るのでしょうか。どのプーラーを使用するか (アーキテクチャは JIT であるはずですか?) をどうやって知るのでしょうか。tnet と tnet1 を使用する理由がわかりません。単に一致していることを示すだけですか。レイヤーのバージョン 1 を使用する場合もあれば、使用しない場合もあります。
おそらく私の問題は、これらのファイルとこのスクリーンショットしか取得できないことです。

無知で申し訳ありません。そしてお待ちいただきありがとうございます。
Re: Torch Addin ファイルをモデルに変換する@vince_faller確かに混乱を招きますので、合理化に向けて取り組んでいきます。基本的には次の順序で 4 つの部分があります。
1. 画像モデル: *_jnet.pt モデル ファイルに含まれるアーキテクチャと重み。
2. プーリング: プーリングレイヤー仕様に一致
3. 表形式モデル: 他のすべてのパラメータと一致し、最終出力にはレイヤー サイズの最後の値であるディメンション embed_size が含まれます。
4. 最終線形: nn.Linear(embed_size, y_size) である必要があります。ここで、y_size は予測される Y の次元です。
各ステップの後に、前のステップから入力を取得して新しい出力を作成し、モデルを段階的に構築できるようになります。
何かが揃っていない場合は、状態辞書と出力テンソルの次元を調べて不一致がどこにあるかを確認し、それに応じて調整すると非常に役立ちます。そのため、サンプルノートブックに追加の印刷セルを配置しています。
ぜひ新しい例を考えてみたい場合は、お送りください。
Re: Torch Addin ファイルをモデルに変換する専門家の努力のおかげで、JMP ではディープラーニングが可能になりました。
JMP Pro 18 ソフトウェアをまだ入手できないのですが、JMP 画像認識についても質問したいと思います。
識別に使用する画像がすべて既知のデータ テーブルから生成されたものである場合。識別に Torch プラグインを使用する場合、元のテーブルデータを直接インポートできますか?
でも、画像で見たほうがいいと思うんだよね?それは理にかなっていますか?
専門家の皆さん、ありがとう!
Re: Torch Addin ファイルをモデルに変換するこんにちは@lalaご質問ありがとうございます。「元のテーブルデータを直接インポートする」とはどういう意味かよくわかりません。ディスク上の .png または .jpg ファイルから画像をインポートするという意味であれば、[ファイル] > [複数のファイルをインポート] で簡単にできます。これがご質問の内容でない場合は、さらに詳しく説明していただくか、小さな例を挙げていただければ、さらにコメントできます。
その間、JMP Pro 18 がなくても、 https://community.jmp.com/t5/JMP-Add-Ins/Torch-Deep-Learning-Add-In-for-JMP-Pro/ta-p/733478 (右上隅のリンクを参照) から Torch_Storybook.jmp をダウンロードし、以前のバージョンの JMP で開いて、さまざまなリンクをクリックして、さまざまな例で画像データがどのように処理されているかを確認すると役立つかもしれません。前のページには、画像分類に関するものを含むいくつかのビデオ チュートリアルへのリンクもあります。これらは、質問の回答に役立つ可能性があります。
Re: Torch Addin ファイルをモデルに変換する専門家の回答ありがとうございます。
もっと直感的な例を思いつきました:
日々の株価チャートと同様に、日々の「始値」、「高値」、「安値」、「終値」、「出来高」の変化によって生成されます。
元データの変化ルールで将来の価格変動を直接予測することも可能であり、もちろん株価チャートのさまざまな形式を使用してグラフ認識を通じて予測することも可能です。
同様に、JMP 18 の Torch プラグインは、画像認識プロセスを省略して、トレーニング用の生の株価データを直接インポートできます。
2 種類のトレーニングには違いがありますか?
専門家の助けに心から感謝します。
Re: Torch Addin ファイルをモデルに変換するこんにちは@lala上級トレーダーは、将来の株価を予測するために考えられるほぼあらゆる方法を試してきたと思います。
画像は、ピクセルの位置と色を使用してデータをエンコードする特定の方法です。画像に対するディープ ニューラル トレーニングは、表形式の時系列機能に対するトレーニングとは確かに異なりますが、最終的には、両方の形式の同様の入力データから同様の結果が生成される傾向があります。
JMP で機能入力または画像入力を使用してスペクトル データをトレーニングする場合にも、同様の現象が見られます。いくつかの例については、Torch Storybook を参照してください。
Re: Torch Addin ファイルをモデルに変換する完璧な回答をくれた専門家に感謝します。まず、プラグインのサンプルファイルのコードを学びます。JMP Pro 18 が手に入るまでお待ちください。
専門家の皆さん、ありがとう!