saurus2
Saurus2
saurus2
전체 방문자
오늘
어제
  • 분류 전체보기
    • 개발
      • AJAX
    • ML Ops
    • Profile
    • 음식점
    • 배낭여행
    • 컴퓨터공학
      • 알고리즘 공부
      • C++
      • Sever 스터디
      • Java spring
      • 알고리즘 _ 문제해결
      • 딥러닝
      • Java 정리
      • Python
      • LeetCode 1000
      • Machine Learning Study
      • Sign language Detection Pro..
      • LeetCode Solutions
    • 비콘
    • 데일리 리포트
    • 유학일기
      • 영어 공부
      • Daily
    • AI Master Degree
      • Data Mining
      • AI and Data engineering
      • Math Foundations for Decisi..
      • Natural Language Processing

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • BFS
  • 개발자
  • 문제해결능력
  • 알고리즘
  • 딕셔너리
  • Python
  • 릿코드
  • 취준
  • 취업준비
  • two pointer
  • 딥러닝
  • 개발자 취업준비
  • DFS
  • 파이썬
  • 리트코드
  • c++
  • LeetCode
  • 백준
  • 온라인저지
  • 알고리즘문제해결

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
saurus2

Saurus2

[SPOTER] Sign Pose-based Transformer 사용법과 에러들
컴퓨터공학/Sign language Detection Project

[SPOTER] Sign Pose-based Transformer 사용법과 에러들

2022. 11. 14. 14:45

Torch를 Import 시킬 수 없는 에러를 해결하는 방법?

ImportError: cannot import name 'TypeAlias' from 'typing_extensions' (/opt/ohpc/pub/apps/python3/3.8.8/lib/python3.8/site-packages/typing_extensions.py)
  1. Torch Version이 1.13.0 최신 버전이었는데, 이게 문제가 있어서 다운그레이드 해야한다. 
  2. python3 -m pip uninstall torch
  3. pytorch를 삭제하고 버전을 낮춰 설치한다.
  4. pip3 install torch==1.8.1
  5. torchvision을 설치하게되면 torch 버전이 낮아서 torch 버전을 업데이트 해버리게 되니, torchvision도 torch 버전과 상호되는 버전을 설치한다.

https://pypi.org/project/torchvision/

 

torchvision

image and video datasets and models for torch deep learning

pypi.org

  • 위 사이트에 각 버전에 맞는 torchvision을 찾아 설치한다.

 

torch를 import할때 생기는 문제를 해결하면 target 에러가 발생한다. 

Traceback (most recent call last):
  File "/opt/ohpc/pub/apps/python3/3.8.8/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/opt/ohpc/pub/apps/python3/3.8.8/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/015897271/spoter/train.py", line 271, in <module>
    train(args)
  File "/home/015897271/spoter/train.py", line 174, in train
    train_loss, _, _, train_acc = train_epoch(slrt_model, train_loader, cel_criterion, sgd_optimizer, device)
  File "/home/015897271/spoter/spoter/utils.py", line 19, in train_epoch
    loss = criterion(outputs[0], labels[0])
  File "/home/015897271/.local/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/015897271/.local/lib/python3.8/site-packages/torch/nn/modules/loss.py", line 1047, in forward
    return F.cross_entropy(input, target, weight=self.weight,
  File "/home/015897271/.local/lib/python3.8/site-packages/torch/nn/functional.py", line 2693, in cross_entropy
    return nll_loss(log_softmax(input, 1), target, weight, None, ignore_index, None, reduction)
  File "/home/015897271/.local/lib/python3.8/site-packages/torch/nn/functional.py", line 2388, in nll_loss
    ret = torch._C._nn.nll_loss(input, target, weight, _Reduction.get_enum(reduction), ignore_index)
IndexError: Target 79 is out of bounds.
  • 먼저, datasets/czech_slr_dataset.py 파일에 있는 104번 줄의 코드를 고쳐야한다.
# 104번 줄의 코드
label = torch.Tensor([self.labels[idx] - 1]) 
# 수정한 코드
label = torch.Tensor([self.labels[idx]])
  • 코드를 고치고 이제 훈련시킬때 --nums_classes 100을 추가하여 실행시킨다.
python3 -m train --training_set_path train_set/WLASL100_train_25fps.csv --validation_set_path valid_set/WLASL100_val_25fps.csv --testing_set_path test_set/WLASL100_test_25fps.csv --num_classes 100

 

train이 시작되면 아래와 같은 화면이 뜬다.

저작자표시 (새창열림)
    saurus2
    saurus2
    Simple is Best

    티스토리툴바