Pytorch: torch.utils.ffi๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  cpp ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

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

๐Ÿ› ๋ฒ„๊ทธ

conda์—์„œ ํ˜„์žฌ pytorch๋กœ ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋‹ค์Œ ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

ImportError: torch.utils.ffi๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  cpp ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด

๋™์ž‘์„ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„:

  1. Ubuntu 16.04 x64์—์„œ ์•„๋‚˜์ฝ˜๋‹ค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

  2. ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ณ  ๊ฑฐ๊ธฐ์— pytorch๋ฅผ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค: conda install -c pytorch pytorch

  3. ์ง€์นจ์— ๋”ฐ๋ผ ์ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด ๋ณด์‹ญ์‹œ์˜ค: https://github.com/ruotianluo/pytorch-faster-rcnn
  4. ./make.sh ๋ถ€๋ถ„์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  5. ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead. ์˜ค๋ฅ˜ ๋ฐœ์ƒ

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

./make.sh ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ๋นŒ๋“œ

ํ™˜๊ฒฝ

ํ™˜๊ฒฝ ์ •๋ณด ์ˆ˜์ง‘ ์ค‘...
ํŒŒ์ดํ† ์น˜ ๋ฒ„์ „: 1.0.0
๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”
PyTorch ๋นŒ๋“œ์— ์‚ฌ์šฉ๋œ CUDA: 9.0.176

OS: ์šฐ๋ถ„ํˆฌ 16.04.5 LTS
GCC ๋ฒ„์ „: (Ubuntu 7.4.0-1ubuntu1~16.04~ppa1) 7.4.0
CMake ๋ฒ„์ „: ๋ฒ„์ „ 3.13.20181022-g64947

ํŒŒ์ด์ฌ ๋ฒ„์ „: 3.6
CUDA๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ: ์˜ˆ
CUDA ๋Ÿฐํƒ€์ž„ ๋ฒ„์ „: 7.5.17
GPU ๋ชจ๋ธ ๋ฐ ๊ตฌ์„ฑ: GPU 0: GeForce GTX 750 Ti
Nvidia ๋“œ๋ผ์ด๋ฒ„ ๋ฒ„์ „: 410.79
cuDNN ๋ฒ„์ „: ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
/usr/lib/x86_64-linux-gnu/libcudnn.so.7.3.1
/usr/lib/x86_64-linux-gnu/libcudnn_static_v7.a

๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „:
[pip] ์ˆ˜์ง‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
[conda] ์ˆ˜์ง‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

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

๋ฌธ์ œ๋Š” ์„ค์น˜ํ•œ pytorch ๋ฒ„์ „๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „์„ 1.0์—์„œ 0.4๋กœ ์ค„์˜€๋”๋‹ˆ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹ ์ด ๋” ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค!

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

https://pytorch.org/tutorials/advanced/cpp_extension.html์„ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค.

๊ทธ๋ž˜์„œ ์ด๊ฒƒ์— ๋Œ€ํ•œ ์‰ฌ์šด ํ•ด๊ฒฐ์ฑ…์€ ์—†์Šต๋‹ˆ๊นŒ? pytorch <= 0.4.1์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ ์ฝ”๋“œ๋ฅผ ์™„์ „ํžˆ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ffi ์ฝ”๋“œ์˜ ์˜ˆ์ œ ํฌํŠธ๋Š” https://github.com/pytorch/audio/commit/8a41ecdc1ba365fb9d51e12b8ab793bc2a3f67fa์— ์žˆ์ง€๋งŒ ์ผ๋ถ€ ๋‹ค์‹œ ์ž‘์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋„์›€์ด ํ•„์š”ํ•˜๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

์  ์žฅ, ๋ช‡ ์ฃผ ๋™์•ˆ ์“ฐ๋ ˆ๊ธฐํ†ต์—...

์ •๊ธฐ์ ์œผ๋กœ ๊ทธ๋Ÿฌํ•œ ๋‚ฎ์€ ์ˆ˜์ค€์˜ ๊ฒƒ๋“ค์„ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๊ณ„ํš์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ์ง€๊ธˆ cpp ํ™•์žฅ์„ ์‹œ๋„ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@aliutkus ์šฐ๋ฆฌ๋Š” 1.5๋…„ ํ›„์— ์ด ๊ธฐ๋Šฅ์„ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ด์— ๋Œ€ํ•œ ๊ตฌ์กฐํ™”๋œ ์‚ฌ์šฉ ์ค‘๋‹จ ๊ฒฝ๋กœ๊ฐ€ ์—†๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ •๋ง๋กœ ์‚ฌ๊ณผ๋“œ๋ฆฝ๋‹ˆ๋‹ค(๊ธฐ์ˆ ์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค). ํŠนํžˆ ๋ช‡ ๊ฐ€์ง€ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์‚ฌ์šฉ ์ค‘๋‹จ ๊ฒฝ๊ณ  ์—†์ด ์ •๊ธฐ์ ์œผ๋กœ ๊ณต๊ฐœ API ์‚ฌ์šฉ์„ ์ค‘๋‹จํ•  ๊ณ„ํš์€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ์˜€์œผ๋ฉฐ ์‚ฌ๊ณผ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

ํฐ ํ™•์ธ. ๊ธ€์Ž„, C์—์„œ C++๋กœ ์ „ํ™˜ํ•  ๋•Œ๊ฐ€ ๋œ ๊ฒƒ ๊ฐ™๋‹ค =)

๋ชจ๋“  ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค

"import torch.utils.cpp_extension"์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ์„ค์น˜ํ•œ pytorch ๋ฒ„์ „๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „์„ 1.0์—์„œ 0.4๋กœ ์ค„์˜€๋”๋‹ˆ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹ ์ด ๋” ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค!

ํ† ์น˜ ๋ฒ„์ „ 1.4.0์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ import torch.utils.cpp_extension ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ฃผ์‚ฌ์œ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

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