Torch Addin 파일을 모델로 변환나보다 문서를 더 잘 이해할 수 있는 사람이 있을 경우를 대비하여 여기에 넣습니다. 하지만 저는 토치 추가 기능의 모델 출력을 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에서 효율적인net_b2를 인스턴스화하고 state_dict를 로드할 필요가 없습니다. JIT(Just-In-Time) 컴파일 모델 파일에는 모델 아키텍처와 훈련된 가중치가 모두 포함되어 있습니다.
이미지 텐서를 설정한 후 model_part(image)를 실행하면 됩니다. 그 후에는 풀링, 임베더, 최종 선형 예측기의 세 가지 단계가 더 있습니다.
중간 출력을 표시하는 단계를 포함하여 엔드투엔드 예제 노트북과 예제 이미지를 첨부합니다. 배포_이미지_모델.py의 접미사를 변경하여 파일 이름을 배포_이미지_모델.ipynb로 지정하세요.
Re: Torch Addin 파일을 모델로 변환그것은 문서에 있는 것과 동일하며 실제로 도움이 되지 않습니다. Addin Dialog의 스크린샷을 통해 이것이 무엇인지 어떻게 알 수 있습니까? 사용할 정규화 방법이나 이미지넷 정규화 값을 어떻게 알 수 있나요? 어떤 풀러를 사용할지 어떻게 알 수 있나요(아키텍처는 JIT에 있어야 하나요?)? 왜 tnet과 tnet1을 하고 있는지 궁금합니다. 단지 일치한다는 것을 보여주는 것뿐인가요? 때로는 레이어의 첫 번째 버전을 사용하기도 하고 그렇지 않을 때도 있습니다.
아마도 내 문제는 내가 얻는 것은 이 파일들과 이 스크린샷뿐이라는 점일 것입니다.

나의 무지에 대해 죄송합니다. 양해해 주셔서 감사합니다.
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 에서 Torch_Storybook.jmp를 다운로드하는 것이 유익할 수 있습니다. -JMP-Pro/ta-p/733478 (오른쪽 상단에 있는 링크 참조), 이전 버전의 JMP에서 열고 관심 있는 다양한 링크를 클릭하여 다양한 예에서 이미지 데이터가 처리되는 방식을 확인하세요. 이전 페이지에는 이미지 분류에 대한 튜토리얼을 포함하여 몇 가지 비디오 튜토리얼에 대한 링크도 있습니다. 이는 귀하의 질문에 답변하는 데 도움이 될 수 있습니다.
Re: Torch Addin 파일을 모델로 변환전문가님 답변 감사드립니다.
나는 좀 더 직관적인 예를 생각해 냈습니다.
매일의 주가 차트와 마찬가지로, 매일의 "시가", "고가", "저가", "종가", "거래량"의 변화에 따라 생성됩니다.
원본 데이터의 변화규칙을 이용하여 미래 가격변화를 직접적으로 예측하는 것이 가능하며, 물론 다양한 형태의 주가 차트를 활용하여 그래프 인식을 통해 예측하는 것도 가능합니다.
마찬가지로 JMP 18의 Torch 플러그인은 훈련을 위해 원시 주가 데이터를 직접 가져올 수 있으며 이미지 인식 프로세스를 생략합니다.
두 가지 훈련 유형에 차이가 있나요?
전문가님의 도움 정말 감사드립니다.
Re: Torch Addin 파일을 모델로 변환@lala 안녕하세요. 저는 고급 거래자들이 미래 주가를 예측하기 위해 가능한 거의 모든 방법을 시도했다고 확신합니다.
이미지는 픽셀 위치와 색상을 사용하여 데이터를 인코딩하는 특정 방법입니다. 이미지에 대한 심층 신경 훈련은 표 형식의 시계열 기능에 대한 훈련과 확실히 다르지만 결국 두 형식의 유사한 입력 데이터는 비슷한 결과를 생성하는 경향이 있습니다.
JMP에서 함수 입력이나 이미지 입력을 사용하여 스펙트럼 데이터를 훈련할 때 비슷한 현상이 나타납니다. 몇 가지 예를 보려면 Torch Storybook을 참조하세요.
Re: Torch Addin 파일을 모델로 변환완벽한 답변을 주신 전문가들에게 감사드립니다.먼저 플러그인 예제 파일 코드를 알아봅니다.JMP Pro 18을 받을 때까지 기다리세요.
전문가님 감사합니다!