將 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
# %%
自動化和腳本編寫回覆:將 Torch Addin 檔案轉換為模型@vince_faller感謝您的帖子。後
model_part = torch.jit.load(model_paths[0], map_location=device)
該模型已準備好用於預測影像。無需從 torchvision 實例化 effectivenet_b2 並載入 state_dict。即時編譯的模型檔案包含模型架構和訓練的權重。
只需在設定影像張量後運行 model_part(image) 即可。之後還有三個步驟:池化、嵌入器和最終線性預測器。
我附加了一個端到端範例筆記本和範例圖像,包括顯示中間輸出的步驟。請更改deploy_image_model.py上的後綴,以便該檔案被命名為deploy_image_model.ipynb
回覆:將 Torch Addin 檔案轉換為模型這與文檔中的內容相同,但並沒有真正的幫助。我們如何從插件對話框的螢幕截圖中知道這些是什麼。例如我們如何知道要使用的歸一化方法或 imagenet 歸一化值?我們如何知道要使用哪個池化器(架構應該是 JIT 的?)?我很困惑你為什麼要做 tnet 和 tnet1?只是表明他們匹配嗎?有時你們都會使用圖層的 1 版本,有時則不使用。
也許我的問題是我得到的只是這些文件和這個螢幕截圖。

抱歉我的無知。感謝您的耐心等待。
回覆:將 Torch Addin 檔案轉換為模型@vince_faller這確實令人困惑,我們將努力簡化它。基本上有四個部分,按以下順序排列:
1.圖像模型:*_jnet.pt模型檔案中包含的架構和權重。
2.池化:匹配池化層規範
3.表格模型:符合所有其他參數,最終輸出具有維度embed_size,它是Layer Sizes的最後一個值。
4. 最終線性:必須是 nn.Linear(embed_size, y_size),其中 y_size 是正在預測的 Y 的維度。
在每個步驟之後,您應該能夠從前一個步驟獲取輸入並建立新的輸出並逐步建立模型。
如果某些內容未對齊,則查看輸出張量的狀態字典和維度以查看不匹配的位置並進行相應調整會非常有幫助 - 這就是我們將這些額外的列印輸出單元放在範例筆記本中的原因。
如果您有希望看到的新範例,請發送給我們。
回覆:將 Torch Addin 檔案轉換為模型感謝專家們的努力,深度學習在 JMP 成為可能。
我還想問一個關於JMP圖像識別的問題,雖然我仍然無法獲得JMP Pro 18軟體:
如果我用來識別它們的圖像都是從已知的數據表生成的。使用Torch插件進行辨識時,可以直接匯入原表資料嗎?
但我認為透過圖像來看會更好,你知道嗎?那有意義嗎?
感謝專家!
回覆:將 Torch Addin 檔案轉換為模型嗨@lala,謝謝你的問題。我不太明白你所說的「直接匯入原始表資料」的意思。如果您的意思是從磁碟上的 .png 或 .jpg 檔案匯入映像,則使用「檔案」>「匯入多個檔案」相當容易。如果這不是您要問的,請您進一步解釋或提供一個小例子,我可以進一步發表評論。
同時,即使沒有 JMP Pro 18,從https://community.jmp.com/t5/JMP-Add-Ins/Torch-Deep-Learning-Add-In-for下載 Torch_Storybook.jmp 也可能提供有用的信息- JMP-Pro/ta-p/733478 (請參閱右上角附近的鏈接),在早期版本的 JMP 中打開它,然後單擊各種感興趣的鏈接,查看各種示例中如何處理圖像數據。前一頁上還有一些視頻教程的鏈接,其中包括圖像分類的視頻教程。這些可能有助於回答您的問題。
回覆:將 Torch Addin 檔案轉換為模型感謝專家的回覆。
我想出了一個更直觀的例子:
就像每天的股票價格圖表一樣,它們是由每天的「開盤價」、「最高價」、「最低價」、「收盤價」、「成交量」的變化所產生的。
可以直接利用原始資料的變化規律來預測未來價格的變化,當然也可以利用不同形式的股價圖表,透過圖形辨識來預測。
就像這樣,JMP 18的Torch插件可以直接匯入原始股價資料進行訓練,省略了影像辨識過程。
這兩種訓練有差別嗎?
非常感謝專家的幫忙。
回覆:將 Torch Addin 檔案轉換為模型嗨@lala ,我確信高級交易者已經嘗試了幾乎所有可以想像的預測未來股價的方法。
圖像是使用像素位置和顏色對資料進行編碼的某種方式。雖然影像上的深度神經訓練肯定不同於表格時間序列特徵上的訓練,但最終兩種形式的相似輸入資料往往會產生相似的結果。
當使用 JMP 中的函數或影像輸入對光譜資料進行訓練時,我們看到了類似的現象。請參閱《火炬故事書》中的一些範例。
回覆:將 Torch Addin 檔案轉換為模型感謝專家們的完美解答。我首先學習插件範例文件程式碼。等我拿到 JMP Pro 18 再說。
感謝專家!