Pytorch: ModuleNotFoundError: 'torch._C'๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 01์›” 24์ผ  ยท  40์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pytorch/pytorch

์•ˆ๋…•ํ•˜์„ธ์š”,

๊ณต์‹ ์›น ํŽ˜์ด์ง€์—์„œ Python 3.5์šฉ PyTorch pip ํŒจํ‚ค์ง€ CPU ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. wget ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  Python 3.6์ด ์„ค์น˜๋œ ArchLinux์— ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด ํŒจํ‚ค์ง€ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ pip install ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. torchvision ํŒจํ‚ค์ง€๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ipython ์„ธ์…˜์ด๋‚˜ Python ์„ธ์…˜์—์„œ import torch ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ torch ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์˜ค๋ ค๊ณ  ํ•˜๋ฉด ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Python 3.6.0 (default, Jan 16 2017, 12:12:55) 
[GCC 6.3.1 20170109] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/torch/__init__.py", line 45, in <module>
    from torch._C import *
ModuleNotFoundError: No module named 'torch._C'

์–ด๋–ค ์•„์ด๋””์–ด?

์นœ์• ํ•˜๋Š”,
์•Œ๋ ˆ์‚ฐ๋“œ๋กœ

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@phenixcx ๋ฌธ์ œ๋Š” ํ”ฝ์—…๋˜๋Š” ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— torch ๋ผ๋Š” ํด๋”๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. cd .. (๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ)๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ python ๋ฐ import torch ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  40 ๋Œ“๊ธ€

ํ•ด๊ฒฐ์ฑ…

๋ฌธ์ œ๋Š” ํ”ฝ์—…๋˜๋Š” ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— torch ๋ผ๋Š” ํด๋”๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. cd .. (๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ)๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ python ๋ฐ import torch ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.


[์Šค๋ ˆ๋“œ์— ๋ฌปํžˆ์ง€ ์•Š๊ณ  ์œ„์˜ ์Šค๋‹ˆํŽซ์„ ์ถ”๊ฐ€ํ•˜๋„๋ก ์ˆ˜์ •๋จ]

torch._C ๋Š” CPython ํ™•์žฅ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค(์ฆ‰, python์— ์˜ํ•ด ๋กœ๋“œ๋œ C ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ). Python ๋ฒ„์ „ ๊ฐ„์— ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜ธํ™˜์ด ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ls /usr/lib/python3.6/site-packages/torch/ ์˜ ์ถœ๋ ฅ์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ทธ๋Ÿฐ ์‹์œผ๋กœ ํ• ํœ ์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  ์ž‘๋™ํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ C ํ™•์žฅ์ด ํŒŒ์ด์ฌ ๋ฒ„์ „์— ํŠน์ •ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ช…๋ช…๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ python 3.6์šฉ ํ• ํœ ์„ ํฌํ•จํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@sumith ๋‹น์‹ ์ด ํ™•์‹คํžˆ ์˜ณ์Šต๋‹ˆ๋‹ค. ์ด ์ ˆ์ฐจ๊ฐ€ TensorFlow์—์„œ ๋งค๋ ฅ์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๋„ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

@apaszke ๊ท€ํ•˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

asuglia<strong i="9">@maximillian</strong> ~ $ ls -ll /usr/lib/python3.6/site-packages/torch/
totale 43360
drwxr-xr-x 4 root root     4096 24 gen 20.15 autograd
drwxr-xr-x 4 root root     4096 24 gen 20.15 backends
-rwxr-xr-x 1 root root 44131377 24 gen 20.15 _C.cpython-35m-x86_64-linux-gnu.so
drwxr-xr-x 3 root root     4096 24 gen 20.15 cuda
-rwxr-xr-x 1 root root    15612 24 gen 20.15 _dl.cpython-35m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root      942 24 gen 20.15 functional.py
-rw-r--r-- 1 root root     7737 24 gen 20.15 __init__.py
drwxr-xr-x 5 root root     4096 24 gen 20.15 legacy
drwxr-xr-x 3 root root     4096 24 gen 20.15 lib
drwxr-xr-x 3 root root     4096 24 gen 20.15 multiprocessing
drwxr-xr-x 7 root root     4096 24 gen 20.15 nn
drwxr-xr-x 3 root root     4096 24 gen 20.15 optim
drwxr-xr-x 2 root root     4096 24 gen 20.15 __pycache__
-rw-r--r-- 1 root root    12520 24 gen 20.15 serialization.py
drwxr-xr-x 3 root root     4096 24 gen 20.15 sparse
-rw-r--r-- 1 root root     3354 24 gen 20.15 storage.py
-rw-r--r-- 1 root root    31721 24 gen 20.15 _tensor_docs.py
-rw-r--r-- 1 root root    16961 24 gen 20.15 tensor.py
-rw-r--r-- 1 root root    10317 24 gen 20.15 _tensor_str.py
drwxr-xr-x 3 root root     4096 24 gen 20.15 _thnn
-rw-r--r-- 1 root root    98275 24 gen 20.15 _torch_docs.py
drwxr-xr-x 7 root root     4096 24 gen 20.15 utils
-rw-r--r-- 1 root root     2532 24 gen 20.15 _utils.py

๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์–ธ์ œ๋“ ์ง€ ๋ฌธ์˜ํ•ด ์ฃผ์„ธ์š”. ๊ธฐ๊บผ์ด ๋„์™€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ˆ, _C.cpython-35m ๊ฐ€ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Python 3.5์—์„œ๋งŒ ๋กœ๋“œ๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋น ๋ฅธ ํ•ดํ‚น์œผ๋กœ _C , _dl ๋ฐ _thnn/_THNN ์„ ์ผ๋ฐ˜ .so ํŒŒ์ผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค( cpython-version-artch-platform ๋ถ€๋ถ„ ์—†์ด _C.so ). ํ•˜์ง€๋งŒ ํ•ดํ‚น์ž…๋‹ˆ๋‹ค. ์‹คํŒจํ•  ๊ฒฝ์šฐ ์ถ”๊ฐ€ ์ง€์›์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ๐Ÿ˜„

๋„์™€์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์‹œ๋„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค :+1:

์•ˆ๋…•ํ•˜์„ธ์š”, Python 2.7.13 ๋ฐ Anaconda 4.3.0(64๋น„ํŠธ)๊ณผ ํ•จ๊ป˜ PyTorch๋ฅผ ์„ค์น˜ํ•  ๋•Œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํžŒํŠธ๋ฅผ ์ฃผ์‹ค๋ž˜์š”?

์„ค์น˜ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค.
์ž์‹ ํด๋ก  https://github.com/pytorch/pytorch
ํ• ์„ค์น˜ -r ์š”๊ตฌ ์‚ฌํ•ญ.txt
ํŒŒ์ด์ฌ setup.py ์„ค์น˜

๊ทธ ํ›„ ์‹œ์Šคํ…œ์—์„œ PyTorch๊ฐ€ ์„ค์น˜๋˜์—ˆ๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ”„๋กฌํ”„ํŠธ ๋ช…๋ น์ค„์— 'ํŒŒ์ด์ฌ'์„ ์ ์—ˆ์Šต๋‹ˆ๋‹ค. ๋“œ๋””์–ด python ์ปค๋งจ๋“œ ๋ผ์ธ์— 'import torch'๊ฐ€ ์ž…๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ๋‹ค์Œ ์ •๋ณด๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.
์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
ํŒŒ์ผ "", 1ํ–‰, ์—์„œ
ํŒŒ์ผ "torch/__init__.py", 45ํ–‰,
ํ† ์น˜์—์„œ._C ๊ฐ€์ ธ์˜ค๊ธฐ *
ImportError: _C๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

/usr/lib/python2.7/site-packages ํŒจํ‚ค์ง€์—๋Š” ํ† ์น˜ ํŒจํ‚ค์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. pytorch์—๋Š” ํŒจํ‚ค์ง€ ํ† ์น˜๊ฐ€ ์žˆ์œผ๋ฉฐ ๋‹ค์Œ ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
[ root@AliHPC-M40-434 ํ† ์น˜]# ls -ll
์ด 236
drwxr-xr-x 3 ๋ฃจํŠธ ๋ฃจํŠธ 150 2์›” 10์ผ 11:54 autograd
drwxr-xr-x 3 ๋ฃจํŠธ ๋ฃจํŠธ 48 2์›” 10์ผ 11:54 ๋ฐฑ์—”๋“œ
drwxr-xr-x 9 ๋ฃจํŠธ ๋ฃจํŠธ 4096 2์›” 10์ผ 11:54 csrc
drwxr-xr-x 2 ๋ฃจํŠธ ๋ฃจํŠธ 109 2์›” 10์ผ 11:54 cuda
drwxr-xr-x 2 ๋ฃจํŠธ ๋ฃจํŠธ 83 2์›” 10์ผ 11:54 ๋ฐฐํฌ๋จ
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 2218 2์›” 10์ผ 11:54 functional.py
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 7768 2์›” 10์ผ 11:54 __init__.py
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 8762 2์›” 10์ผ 13:49 __init__.pyc
drwxr-xr-x 4 ๋ฃจํŠธ ๋ฃจํŠธ 61 2์›” 10์ผ 11:54 ๋ ˆ๊ฑฐ์‹œ
drwxr-xr-x 15 ๋ฃจํŠธ ๋ฃจํŠธ 4096 2์›” 10์ผ 12:00 lib
drwxr-xr-x 2 ๋ฃจํŠธ ๋ฃจํŠธ 93 2์›” 10์ผ 11:54 ๋‹ค์ค‘ ์ฒ˜๋ฆฌ
drwxr-xr-x 6 ๋ฃจํŠธ ๋ฃจํŠธ 4096 2์›” 10์ผ 11:54 nn
drwxr-xr-x 2 ๋ฃจํŠธ ๋ฃจํŠธ 4096 2์›” 10์ผ 11:54 ์ตœ์ ํ™”
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 12581 2์›” 10์ผ 11:54 serialization.py
drwxr-xr-x 2 ๋ฃจํŠธ ๋ฃจํŠธ 2์›” 32์ผ 2์›” 10์ผ 11:54 ์ŠคํŒŒ์Šค
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 3354 2์›” 10์ผ 11:54 storage.py
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 33716 2์›” 10์ผ 11:54 _tensor_docs.py
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 17009 2์›” 10์ผ 11:54 tensor.py
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 10346 2์›” 10์ผ 11:54 _tensor_str.py
drwxr-xr-x 2 ๋ฃจํŠธ ๋ฃจํŠธ 71 2์›” 10์ผ 11:55 _thnn
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 99370 2์›” 10์ผ 11:54 _torch_docs.py
drwxr-xr-x 6 ๋ฃจํŠธ ๋ฃจํŠธ 145 2์›” 10์ผ 11:54 ์œ ํ‹ธ๋ฆฌํ‹ฐ
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 2532 2์›” 10์ผ 11:54 _utils.py
-rw-r--r-- 1 ๋ฃจํŠธ ๋ฃจํŠธ 2895 2์›” 10์ผ 13:49 _utils.pyc

/usr/lib/python2.7/site-packages ์—์„œ ํŒจํ‚ค์ง€๋ฅผ ์ฐพ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์•„๋‚˜์ฝ˜๋‹ค ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. which python ์˜ ์ถœ๋ ฅ์„ ๋ณด๊ณ  ์•„๋‚˜์ฝ˜๋‹ค ํŒŒ์ด์ฌ์ด ์•„๋‹Œ ์ด์œ ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

' which python'์˜ ์ถœ๋ ฅ์€ '/root/anaconda2/bin/python'์ž…๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ง€๊ธˆ, ๋‚˜๋Š” ๋ช…๋ น์ค„์— '/root/anaconda2/bin/python'์„ ์ ๊ณ  ํŒŒ์ด์ฌ ๋ช…๋ น์ค„์—์„œ 'import torch'๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
ํŒŒ์ผ "", 1ํ–‰, ์—์„œ
ํŒŒ์ผ "torch/__init__.py", 45ํ–‰,
ํ† ์น˜์—์„œ._C ๊ฐ€์ ธ์˜ค๊ธฐ *
ImportError: _C๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ pytorch๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ํ† ์น˜ 7์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. OS๋Š” ์„ผํ† ์Šค 7์ž…๋‹ˆ๋‹ค.
๋ฏธ๋ฆฌ ๋„์›€์„ ์ฃผ์‹  Soumith์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

@phenixcx ๋ฌธ์ œ๋Š” ํ”ฝ์—…๋˜๋Š” ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— torch ๋ผ๋Š” ํด๋”๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. cd .. (๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ)๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ python ๋ฐ import torch ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์—„์ฒญ๋‚œ! ์ •๋ง ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€ ์œ„์น˜๋Š” pytorch๋ฅผ ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

@sumith ์ฒœ์žฌ ๊ด€์ฐฐ!

@soumith ๊ท€ํ•˜์˜ ์ œ์•ˆ์€ ์ •๋ง ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค! ์ด ๋ฌธ์ œ๋กœ ์˜ค๋žซ๋™์•ˆ ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ด ์†”๋ฃจ์…˜์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@soumith ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ์ด ์˜ค๋ฅ˜์— ๋ฏธ์ณ๊ฐ€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค

@soumith ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋‚ด ๋ฌธ์ œ๋„ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค! @sumith ๊ฐ์‚ฌ

Gah, ๋‚˜๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ด ์ง€์ ์„ ๋‘ ๋ฒˆ ์ณค๋‹ค :-P . ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ์˜๋ฌด์ ์œผ๋กœ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ cd๋ฅผ ํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ ์Šคํฌ๋ฆฝํŠธ ์ž์ฒด๋Š” ๋ณต์ œ๋œ pytorch ํด๋”์— ์žˆ์Šต๋‹ˆ๋‹ค.

์„ธ์ƒ์—, ๊ทธ๊ฒŒ ๋‹ค์˜€์–ด

์ผํ–ˆ๋‹ค!

์ผํ–ˆ๋‹ค!

๋ธŒ๋žœ์น˜ v0.3.0์˜ ์†Œ์Šค์—์„œ ๋นŒ๋“œํ•œ ํ›„์—๋„ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ์‹œ์Šคํ…œ์€ OSX10.12์ด๊ณ  ํŒŒ์ด์ฌ ๋ฒ„์ „์€ 3.6.1์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์•„๋‚˜์ฝ˜๋‹ค ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. pip3๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ์„ ํƒ์  ์ข…์†์„ฑ์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. export NO_CUDA=1 CUDA ์ง€์›์„ ๋น„ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ์‹œ์Šคํ…œ์— ๋งž๊ฒŒ ์„ค์น˜ ๋ช…๋ น์„ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.
Jon (v0.3.0) pytorch $ MACOSX_DEPLOYMENT_TARGET=10.12 CC=clang CXX=clang++ python3 setup.py install

๊ฑด๋ฌผ ์ค‘๊ฐ„์— 7๊ฐœ์˜ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
~~/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:14:29: ๊ฒฝ๊ณ : 'THDTensorDescriptor_newFromTHDoubleTensor'์— C ์—ฐ๊ฒฐ์ด ์ง€์ •๋˜์—ˆ์ง€๋งŒ ์‚ฌ์šฉ์ž ์ •์˜ ์œ ํ˜•์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.C์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” 'THDTensorDescriptor'(์ผ๋ช… 'at::Tensor') [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHDoubleTensor(THDoubleTensor *ํ…์„œ);^^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:15:29: ๊ฒฝ๊ณ : 'THDTensorDescriptor_newFromTHFloatTensor'์— C-๋งํฌ๊ฐ€ ์ง€์ •๋˜์—ˆ์ง€๋งŒ ์‚ฌ์šฉ์ž ์ •์˜ ์œ ํ˜•์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.C์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” 'THDTensorDescriptor'(์ผ๋ช… 'at::Tensor') [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHFloatTensor(THFloatTensor *tensor);^^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:16:29: ๊ฒฝ๊ณ : 'THDTensorDescriptor_newFromTHLongTensor'์— C-๋งํฌ๊ฐ€ ์ง€์ •๋˜์—ˆ์ง€๋งŒ ์‚ฌ์šฉ์ž ์ •์˜ ์œ ํ˜•์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.C์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” 'THDTensorDescriptor'(์ผ๋ช… 'at::Tensor') [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHLongTensor(THLongTensor *ํ…์„œ);^^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:17:29: ๊ฒฝ๊ณ : 'THDTensorDescriptor_newFromTHIntTensor'์— C ์—ฐ๊ฒฐ์ด ์ง€์ •๋˜์—ˆ์ง€๋งŒ ์‚ฌ์šฉ์ž ์ •์˜ ์œ ํ˜•์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.C์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” 'THDTensorDescriptor'(์ผ๋ช… 'at::Tensor') [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHIntTensor(THIntTensor *ํ…์„œ);^^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:18:29: ๊ฒฝ๊ณ : 'THDTensorDescriptor_newFromTHShortTensor'์— C ์—ฐ๊ฒฐ์ด ์ง€์ •๋˜์—ˆ์ง€๋งŒ ์‚ฌ์šฉ์ž ์ •์˜ ์œ ํ˜•์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.C์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” 'THDTensorDescriptor'(์ผ๋ช… 'at::Tensor') [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHShortTensor(THShortTensor *ํ…์„œ);^^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:19:29: ๊ฒฝ๊ณ : 'THDTensorDescriptor_newFromTHCharTensor'์— C ์—ฐ๊ฒฐ์ด ์ง€์ •๋˜์—ˆ์ง€๋งŒ ์‚ฌ์šฉ์ž ์ •์˜ ์œ ํ˜•์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.C์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” 'THDTensorDescriptor'(์ผ๋ช… 'at::Tensor') [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHCharTensor(THCharTensor *tensor);^^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:20:29: ๊ฒฝ๊ณ : 'THDTensorDescriptor_newFromTHByteTensor'์— C ์—ฐ๊ฒฐ์ด ์ง€์ •๋˜์—ˆ์ง€๋งŒ ์‚ฌ์šฉ์ž ์ •์˜ ์œ ํ˜•์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.C์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” 'THDTensorDescriptor'(์ผ๋ช… 'at::Tensor') [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHByteTensor(THByteTensor *ํ…์„œ);^^7๊ฐœ์˜ ๊ฒฝ๊ณ ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.~ ~
์ด๋Ÿฌํ•œ ๊ฒฝ๊ณ  ์™ธ์—๋„ ์„ค์น˜๊ฐ€ ๊ดœ์ฐฎ์•„ ๋ณด์ž…๋‹ˆ๋‹ค.
pytorch ์†Œ์Šค๋Š” ~/pytorch/ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ~/Desktop ์—์„œ python์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด ๊ฐ€์ ธ์˜ค๊ธฐ ์‹คํŒจ์˜ ์›์ธ์ด ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

@Jonbean ์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฐฉ๊ธˆ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ pytorch์˜ ์ตœ์‹  ๋ฒ„์ „์„ ๋ณต์ œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์™œ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋ฅผ ์‹œ๋„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ImportErrorTraceback(๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰)
~์—()
----> 1 ์ˆ˜์ž… ํ† ์น˜

ImportError: 'torch'๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

pytorch๋ฅผ ์„ค์น˜ํ•œ ํ›„ jupyter ๋…ธํŠธ๋ถ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.
์ฐธ๊ณ : ์ด ๋ฌธ์ œ ์—†์ด tensorflow๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ๋Œ“๊ธ€์„ ๋” ์ž˜ ๋ณด์ด๊ฒŒ ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
https://github.com/pytorch/pytorch/issues/574#issuecomment -278879701
์˜ˆ: ์ด ์Šค๋ ˆ๋“œ์—์„œ ์„ธ ๋ฒˆ์งธ ๊ฒŒ์‹œ๋ฌผ์„ ํŽธ์ง‘ํ•˜์—ฌ @sumith ?

์ด ์Šค๋ ˆ๋“œ์— ๋„์ฐฉํ•œ ๊ฒƒ์€ ๋‘ ๋ฒˆ์งธ์ด๊ณ  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋‘ ๋ฒˆ์งธ์ž…๋‹ˆ๋‹ค...

@talesa ๋Š” ์Šค๋ ˆ๋“œ์˜ ๋‘ ๋ฒˆ์งธ ๊ฒŒ์‹œ๋ฌผ์— ์†”๋ฃจ์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/pytorch/pytorch/issues/574#issuecomment -274911281

๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์˜ ์†”๋ฃจ์…˜์€ ์ €์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ €๋Š” http://course.fast.ai/ ์—์„œ Practical Deep Learning for Coders ๊ณผ์ •์„ ๋”ฐ๋ฅด๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค

์ˆ˜์—… ์‹œ์ž‘ ์‹œ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

~\Documents\Fast AI\fastai\courses\dl1\fastai\torch_imports.py in <module>()
      1 import os
----> 2 import torch, torchvision, torchtext
      3 from torch import nn, cuda, backends, FloatTensor, LongTensor, optim
      4 import torch.nn.functional as F
      5 from torch.autograd import Variable

C:\ProgramData\Anaconda3\envs\fastai\lib\site-packages\torch\__init__.py in <module>()
     74     pass
     75 
---> 76 from torch._C import *
     77 
     78 __all__ += [name for name in dir(_C)

ImportError: DLL load failed: The specified procedure could not be found.

๋˜ํ•œ Jupyter Notebook ์™ธ๋ถ€์˜ python์—์„œ import torch ๋ฅผ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

(fastai) C:\Users\PJvG\Documents\Fast AI\fastai>python
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bi
t (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\envs\fastai\lib\site-packages\torch\__init__.py
", line 76, in <module>
    from torch._C import *
ImportError: DLL load failed: The specified procedure could not be found.
>>> which python
  File "<stdin>", line 1
    which python
               ^
SyntaxError: invalid syntax

cd .. ์‹œ๋„ํ–ˆ์ง€๋งŒ ์•„๋ฌด๋Ÿฐ ๋ณ€ํ™”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‚ด fastai ์ฑ„๋„์„ ๋น„ํ™œ์„ฑํ™”ํ•œ ํ›„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

(base) C:\Users\PJvG\Documents>python
Python 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 10:22:32) [MSC v.
1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'torch'

๋ˆ„๊ตฐ๊ฐ€ ์ด ๋ฌธ์ œ๋ฅผ ๋„์™€์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@PJvG ์ด๊ฒƒ์€ Windows ๊ด€๋ จ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://github.com/pytorch/pytorch/issues/494 ์—์„œ ๋ฌป๋Š” ๊ฒƒ์ด ๋” ๋‚˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@PJvG ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์„

์•„๋‹ˆ, ๋‚œ ๋ชปํ•ด

2018-03-18 0:23 GMT-03:00 karanmurthy7 ์•Œ๋ฆผ @github.com :

@PJvG https://github.com/pjvg ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์œผ์…จ์Šต๋‹ˆ๊นŒ?

โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/pytorch/pytorch/issues/574#issuecomment-373969927 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AWEPqcNsVyhzPm5yfm8enhRUce22vLLtks5tfdMUgaJpZM4Lsrr6
.

Anaconda๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Windows 10์—์„œ Pytorch๋ฅผ ์ž‘๋™์‹œํ‚ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜ํ•˜๋Š” ๋ฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ฐ€์ ธ ์˜ค๋ ค๊ณ  ํ•  ๋•Œ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\conner\Anaconda3\Lib\site-packages\torch\__init__.py", line 76, in <module>
    from torch._C import *
ImportError: DLL load failed: The specified module could not be found.

๋‚˜๋Š” cd ..๋ฅผ ์‹œ๋„ํ–ˆ๊ณ  ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์ƒˆ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ python์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋˜ํ•œ ์‹œ๋„ํ–ˆ๋‹ค
@apaszke ์ถ”์ฒœ:

์˜ˆ, _C.cpython-35m์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Python 3.5์—์„œ๋งŒ ๋กœ๋“œ๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋น ๋ฅธ ํ•ดํ‚น์œผ๋กœ _C, _dl ๋ฐ _thnn/_THNN์˜ ์ด๋ฆ„์„ ์ผ๋ฐ˜ .so ํŒŒ์ผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(cpython-version-artch-platform ๋ถ€๋ถ„ ์—†์ด _C.so๋งŒ). ํ•˜์ง€๋งŒ ํ•ดํ‚น์ž…๋‹ˆ๋‹ค. ์‹คํŒจํ•  ๊ฒฝ์šฐ ์ถ”๊ฐ€ ์ง€์›์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ๐Ÿ˜„

๋‹ค์Œ์€ ํ† ์น˜ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 Directory of C:\Users\conner\Anaconda3\Lib\site-packages\torch

05/05/2018  07:52 PM    <DIR>          .
05/05/2018  07:52 PM    <DIR>          ..
05/05/2018  07:29 PM    <DIR>          autograd
05/05/2018  07:29 PM    <DIR>          backends
05/05/2018  07:29 PM    <DIR>          contrib
05/05/2018  07:29 PM    <DIR>          cuda
05/05/2018  07:29 PM    <DIR>          distributed
02/24/2018  05:49 AM             6,208 distributions.py
05/05/2018  07:29 PM    <DIR>          for_onnx
02/24/2018  05:49 AM             9,714 functional.py
05/05/2018  07:29 PM    <DIR>          jit
05/05/2018  07:29 PM    <DIR>          legacy
05/05/2018  07:29 PM    <DIR>          lib
05/05/2018  07:29 PM    <DIR>          multiprocessing
05/05/2018  07:29 PM    <DIR>          nn
05/05/2018  07:29 PM    <DIR>          onnx
05/05/2018  07:29 PM    <DIR>          optim
11/09/2017  07:38 PM             4,130 random.py
02/24/2018  05:49 AM            16,759 serialization.py
05/05/2018  07:29 PM    <DIR>          sparse
02/24/2018  05:49 AM             4,016 storage.py
02/24/2018  05:49 AM            14,497 tensor.py
05/05/2018  07:29 PM    <DIR>          utils
02/24/2018  01:46 PM                58 version.py
02/24/2018  01:52 PM        22,208,512 _C.pyd
02/24/2018  01:52 PM            10,240 _nvrtc.cp36-win_amd64.pyd
10/27/2017  09:31 PM             3,044 _six.py
09/17/2017  08:09 AM             1,164 _storage_docs.py
02/24/2018  05:49 AM            39,842 _tensor_docs.py
02/24/2018  05:49 AM            11,024 _tensor_str.py
05/05/2018  07:29 PM    <DIR>          _thnn
02/24/2018  05:49 AM           127,125 _torch_docs.py
02/24/2018  05:49 AM             9,201 _utils.py
02/24/2018  05:49 AM             9,313 __init__.py
05/05/2018  07:29 PM    <DIR>          __pycache__
              16 File(s)     22,474,847 bytes
              19 Dir(s)  318,658,211,840 bytes free

pytorch๋ฅผ ์ž‘๋™์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์—ฌ๋Ÿฌ๋ถ„, ์•ˆ๋…•ํ•˜์„ธ์š”,
์ €๋Š” Pytorch๋ฅผ ์ฒ˜์Œ ์ ‘ํ–ˆ๊ณ  Anaconda์— ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ cd ... ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค! ์•„๋ฌด๋„ ๋‚ด๊ฐ€ Anaconda์—์„œ ์ด๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ฌด์—‡์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๊นŒ? ๋‚˜๋Š” ์™„์ „ํžˆ ํ˜ผ๋ž€์Šค๋Ÿฝ๋‹ค.

๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค

๋‚ด ํŒŒ์ด์ฌ ๋น„์ „์€ 3.6.2์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ž… ํ† ์น˜
์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
ํŒŒ์ผ "", 1ํ–‰, ์—์„œ
ํŒŒ์ผ "C:UsershpAppDataLocalProgramsPythonPython36libsite-packagestor
ch__init__.py", 78ํ–‰, in
ํ† ์น˜์—์„œ._C ๊ฐ€์ ธ์˜ค๊ธฐ *
ImportError: DLL ๋กœ๋“œ ์‹คํŒจ: ๆ‰พไธๅˆฐๆŒ‡ๅฎš็š„ๆจกๅ—ใ€‚

๋„์™€์ฃผ์„ธ์š”, @connermcb @PJvG @apaszke

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„, ์ €๋Š” ์ œ Mac ์‹œ์Šคํ…œ์˜ python 2.7์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(ํƒ€์‚ฌ ํŒŒ์ด์ฌ์ด ์•„๋‹˜)
๋‚˜๋Š”์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ํ•ด๊ฒฐ์ฑ…์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.
์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์กฐ์ •ํ•˜์‹ญ์‹œ์˜ค ๐Ÿ‘

sudo install_name_tool -change @rpath/libc++.1.dylib /usr/lib/libc++.1.dylib /Library/Python/2.7/site-packages/torch/_C.so

@phenixcx ๋ฌธ์ œ๋Š” ํ”ฝ์—…๋˜๋Š” ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— torch ๋ผ๋Š” ํด๋”๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. cd .. (๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ)๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ python ๋ฐ import torch ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” Windows์— ์žˆ๊ณ  ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ:
ํ† ์น˜์—์„œ._C ๊ฐ€์ ธ์˜ค๊ธฐ *
ImportError: 'torch._C'๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ:
3.5.6 |์•„๋‚˜์ฝ˜๋‹ค, Inc.| (๊ธฐ๋ณธ๊ฐ’, 2018๋…„ 8์›” 26์ผ, 16:05:27) [MSC v.1900 64๋น„ํŠธ(AMD64)]

ํ•ด๊ฒฐํ•˜๋‹ค:
pip3์œผ๋กœ ํ† ์น˜๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

pip3 install torch==1.2.0+cpu torchvision==0.4.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

@phenixcx ๋ฌธ์ œ๋Š” ํ”ฝ์—…๋˜๋Š” ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— torch ๋ผ๋Š” ํด๋”๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. cd .. (๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ)๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ python ๋ฐ import torch ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” Windows์— ์žˆ๊ณ  ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•˜์Šต๋‹ˆ๊นŒ?

์—ฌ๋Ÿฌ๋ถ„, ์•ˆ๋…•ํ•˜์„ธ์š”!
๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ ์†”๋ฃจ์…˜์ด ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” Raspberry pi 3 ๋ชจ๋ธ B๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ข…๋ฃŒํ•ด๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
image

์—ฌ๋Ÿฌ๋ถ„, ์•ˆ๋…•ํ•˜์„ธ์š”!
๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ ์†”๋ฃจ์…˜์ด ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” Raspberry pi 3 ๋ชจ๋ธ B๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ข…๋ฃŒํ•ด๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
image

์ด @BulNik ์„ ์ฒ˜๋ฆฌํ–ˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ์ผ๋‹จ ํœ ์„ ๋นŒ๋“œํ•˜๋ฉด pytorch/dist ํด๋”(whl ํ™•์žฅ์ž)์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋กœ์— ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

pip3 install pytorch/dist/torch-1.6.0a0+68f23d5-cp37-cp37m-linux_armv7l.whl

_ํœ  ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๊ท€ํ•˜์˜ ์ด๋ฆ„์œผ๋กœ ๊ต์ฒด_

์ ์–ด๋„ ๋‚ด Raspberry Pi 4 Model B์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์•Œ๋ ค์ฃผ์„ธ์š”!

cd... ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ˆ˜ํ–‰ํ•œ ํ›„ ์ด์ƒํ•˜๊ฒŒ๋„ ๋‚ด Google colabs์—์„œ ๋ชจ๋‘ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์žฌ์„ค์ •ํ•˜๋ฉด ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๋จผ์ € ์‹œ๋„ํ•˜๋ฉด ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์œ ๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ
['torch._C'๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.]

์˜ˆ, _C.cpython-35m ๊ฐ€ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Python 3.5์—์„œ๋งŒ ๋กœ๋“œ๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋น ๋ฅธ ํ•ดํ‚น์œผ๋กœ _C , _dl ๋ฐ _thnn/_THNN ์„ ์ผ๋ฐ˜ .so ํŒŒ์ผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค( cpython-version-artch-platform ๋ถ€๋ถ„ ์—†์ด _C.so ). ํ•˜์ง€๋งŒ ํ•ดํ‚น์ž…๋‹ˆ๋‹ค. ์‹คํŒจํ•  ๊ฒฝ์šฐ ์ถ”๊ฐ€ ์ง€์›์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ์ œ๊ฐ€ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ์ƒˆ๋กœ์šด ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค :(

์ˆ˜์ž… ํ† ์น˜
์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
ํŒŒ์ผ "", 1ํ–‰, ์—์„œ
ํŒŒ์ผ "/home/pi/.local/lib/python3.7/site-packages/torch/__init__.py", 79ํ–‰,
ํ† ์น˜์—์„œ._C ๊ฐ€์ ธ์˜ค๊ธฐ *
ImportError: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: ๋ฒ„์ „ `GLIBCXX_3.4.26'์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ(/home/pi/.local/lib/python3.7/site-packages/torch/์— ํ•„์š”ํ•จ lib/libtorch_python.so)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰