Tensorflow: ImportError: libcublas.so.9.0: ๊ณต์œ  ๊ฐœ์ฒด ํŒŒ์ผ์„ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค: ํ•ด๋‹น ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 12์›” 23์ผ  ยท  136์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: tensorflow/tensorflow

tf-nightly ๋นŒ๋“œ๋ฅผ ์„ค์น˜ํ–ˆ๋Š”๋ฐ tensorflow๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory .

cuda 9๋ฅผ ํ™•์ธํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ldconfig -v
/usr/local/cuda-8.0/targets/x86_64-linux/lib:
    libnvgraph.so.8.0 -> libnvgraph.so.8.0.61
    libnppicom.so.8.0 -> libnppicom.so.8.0.61
    libnppial.so.8.0 -> libnppial.so.8.0.61
    libcufftw.so.8.0 -> libcufftw.so.8.0.61
    libcufft.so.8.0 -> libcufft.so.8.0.61
    libnppif.so.8.0 -> libnppif.so.8.0.61
    libcublas.so.8.0 -> libcublas.so.8.0.88
    libnvblas.so.8.0 -> libnvblas.so.8.0.88
    libnppi.so.8.0 -> libnppi.so.8.0.61
    libcusolver.so.8.0 -> libcusolver.so.8.0.61
    libnppidei.so.8.0 -> libnppidei.so.8.0.61
    libnvrtc-builtins.so.8.0 -> libnvrtc-builtins.so.8.0.61
    libnvrtc.so.8.0 -> libnvrtc.so.8.0.61
    libnpps.so.8.0 -> libnpps.so.8.0.61
    libcuinj64.so.8.0 -> libcuinj64.so.8.0.61
    libnppig.so.8.0 -> libnppig.so.8.0.61
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppicc.so.8.0 -> libnppicc.so.8.0.61
    libnppist.so.8.0 -> libnppist.so.8.0.61
    libnppisu.so.8.0 -> libnppisu.so.8.0.61
    libnppim.so.8.0 -> libnppim.so.8.0.61
    libcurand.so.8.0 -> libcurand.so.8.0.61
    libcudart.so.8.0 -> libcudart.so.8.0.61
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnppitc.so.8.0 -> libnppitc.so.8.0.61
    libnppc.so.8.0 -> libnppc.so.8.0.61
    libcusparse.so.8.0 -> libcusparse.so.8.0.61
/usr/local/cuda-9.1/targets/x86_64-linux/lib:
    libnppicc.so.9.1 -> libnppicc.so.9.1.85
    libnppisu.so.9.1 -> libnppisu.so.9.1.85
    libcufftw.so.9.1 -> libcufftw.so.9.1.85
    libcufft.so.9.1 -> libcufft.so.9.1.85
    libnppial.so.9.1 -> libnppial.so.9.1.85
    libnppist.so.9.1 -> libnppist.so.9.1.85
    libcublas.so.9.1 -> libcublas.so.9.1.85
    libnvblas.so.9.1 -> libnvblas.so.9.1.85
    libnppitc.so.9.1 -> libnppitc.so.9.1.85
    libcusolver.so.9.1 -> libcusolver.so.9.1.85
    libnvrtc.so.9.1 -> libnvrtc.so.9.1.85
    libnvrtc-builtins.so.9.1 -> libnvrtc-builtins.so.9.1.85
    libnppidei.so.9.1 -> libnppidei.so.9.1.85
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppig.so.9.1 -> libnppig.so.9.1.85
    libnppc.so.9.1 -> libnppc.so.9.1.85
    libcudart.so.9.1 -> libcudart.so.9.1.85
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnvgraph.so.9.1 -> libnvgraph.so.9.1.85
    libnppif.so.9.1 -> libnppif.so.9.1.85
    libcusparse.so.9.1 -> libcusparse.so.9.1.85
    libaccinj64.so.9.1 -> libaccinj64.so.9.1.85
    libcuinj64.so.9.1 -> libcuinj64.so.9.1.85
    libnppim.so.9.1 -> libnppim.so.9.1.85
    libnppicom.so.9.1 -> libnppicom.so.9.1.85
    libnpps.so.9.1 -> libnpps.so.9.1.85
    libcurand.so.9.1 -> libcurand.so.9.1.85

์ด๋ฆ„ ๋ถˆ์ผ์น˜๋กœ ์ธํ•ด ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. libcublas.so.9.0 =! libcublas.so.9.1 ? ๊ทธ๋ ‡๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”? ์ด ๋ฌธ์ œ๋Š” tensorflow-gpu-1.5์— cuda 9.0์ด ํ•„์š”ํ•˜๋ฏ€๋กœ tensorflow-gpu-1.4๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  tensorflow-gpu-1.5 ์ œ๊ฑฐ๋ฅผ ๊ธฐ์–ตํ•˜์‹ญ์‹œ์˜ค. ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค"pip install --upgrade tensorflow-gpu==1.4"

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

๋‚˜๋Š” ์ด๊ฒƒ์ด 9.0์ด ์•„๋‹Œ CUDA 9.1์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํžˆ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@Timonzimm ๋‚˜๋Š” ์•Œ๊ณ  ์žˆ๊ณ  ์ „์ฒด ๋ฌธ์ œ๋Š” nvidia๊ฐ€ ๋„ฃ๋Š” libcublas.so.xxx๋ผ๋Š” ์ด๋ฆ„์˜ ์ด f**๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ณธ์งˆ์ ์œผ๋กœ ํ•ด๋‹น ๋ฒˆํ˜ธ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค Linux ์‹œ์Šคํ…œ์—์„œ ๋ถˆ์ผ์น˜์ด๋ฏ€๋กœ ์ •ํ™•ํ•œ ์ผ์น˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

''cuda/''์—์„œ ''cuda/9.1'๋กœ์˜ ์‹ฌ๋ณผ ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด cuda ๋ฒ„์ „์ด tensorflow ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ๋„ˆ๋ฌด ์ƒˆ๋กญ์Šต๋‹ˆ๋‹ค.

@ burui11087 ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์™„์ „ํžˆ ์žŠ์–ด ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ์ƒ๊ธฐ์‹œ์ผœ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ํ•ด๊ฒฐ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(๊ทผ๋ณธ ์›์ธ์€ CUDA - 9.0 ๋Œ€ 9.1์˜ ๋ฒ„์ „ ๋ถˆ์ผ์น˜)?
ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•˜๋ฏ€๋กœ ๋‹ซ์Šต๋‹ˆ๋‹ค๋งŒ, ์ œ๊ฐ€ ์ž˜๋ชป ์•Œ๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ ์•Œ๋ ค์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ @gunan @av8ramit (๊ณง ์ถœ์‹œ๋  1.5 ๋ฆด๋ฆฌ์Šค์—์„œ ์ž‘์—… ์ค‘์ธ ์‚ฌ๋žŒ)

kirk86์—์„œ๋„ ๋˜‘๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ €๋ฅผ ์œ„ํ•ด cuda ํˆดํ‚ท 8.0๊ณผ cudnn 5.1์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ ์œ„์— ๋„ˆํฌ๋“ค์ด ๋งํ•œ ๋Œ€๋กœ ํ•ด๋ดค๋Š”๋ฐ ๋ชจ๋‘ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

nightlies๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด CUDA 9.0 ๋ฐ cudnn 7์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
CUDA์™€ cudnn ์„ค์น˜๋œ TF์˜ ํ˜„์žฌ ๋ฒ„์ „ @yangfengKAUST๋Š” ๊ทธ๊ฒƒ์ด ๊ธฐ๋Œ€ ๋ฒ„์ „์„ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ๋ถˆํ‰.

@Timonzimm ์ €๋„ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ์•Œ์•„ ๋ƒˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ๊ฐ๊ฐ์— ํŠน์ •ํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” 8.0, 9.0, 9.1 + cudnn ๋ฒ„์ „์ด ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 9.1 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. /usr/local/cuda ๋งํฌ์—์„œ ๋ฒ„์ „์„ ์ „ํ™˜ํ•  ๋•Œ LD_LIBRARY_PATH์˜ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” Eclipse ๋‚ด๋ถ€์˜ ๊ฒฝ๋กœ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋” ๊นจ๋—ํ•œ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‚ด Java ํ”„๋กœ๊ทธ๋žจ์— ๋กœ๋“œํ•˜๋Š” ๋‚ฎ์€ ๊ธฐ์ˆ  ๋ฐฉ์‹์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

    try {
        System.load("/usr/local/cuda/lib64/libcublas.so.9.0");
        System.load("/usr/local/cuda/lib64/libcusolver.so.9.0");
        System.load("/usr/local/cuda/lib64/libcudart.so.9.0");
        System.load("/usr/local/cuda/lib64/libcufft.so.9.0");
        System.load("/usr/local/cuda/lib64/libcurand.so.9.0");

        System.load("/home/greg/Desktop/platform/tensorbuilder/jni/libtensorflow_jni.so");
      } catch (UnsatisfiedLinkError e) {
          System.err.println("Native code library failed to load.\n" + e);
          System.exit(1);
      }

.

@asimshankar ์œ„์˜ ์˜๊ฒฌ์—์„œ cuda๋ฅผ 9.0์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•˜๊ณ  tensorflow 1.5๊ฐ€ cuda 9.1์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ–ˆ์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ์ทจํ•ด์•ผ ํ•  ์˜ฌ๋ฐ”๋ฅธ ์กฐ์น˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค!

์ฐธ๊ณ : cuda 9.0 ๋Œ€์‹  cuda 9.1๋„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ์ €๋Š” ๋‘˜ ๋‹ค ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์€ ๋‘˜ ์ค‘ ํ•˜๋‚˜์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜์ง€๋งŒ ์•ผ๊ฐ„ ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” 9.0์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

@AwasthiMaddy - ์˜ˆ, TensorFlow 1.5 ๋ฆด๋ฆฌ์Šค ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” CUDA 9์šฉ์œผ๋กœ ๋นŒ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”? ์ด ๋ฌธ์ œ๋Š” tensorflow-gpu-1.5์— cuda 9.0์ด ํ•„์š”ํ•˜๋ฏ€๋กœ tensorflow-gpu-1.4๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  tensorflow-gpu-1.5 ์ œ๊ฑฐ๋ฅผ ๊ธฐ์–ตํ•˜์‹ญ์‹œ์˜ค. ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค"pip install --upgrade tensorflow-gpu==1.4"

@aipeteryao - ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์‚ฌ์‹ค์ด๋ผ๋ฉด ๋ˆ„๊ตฐ๊ฐ€ https://www.tensorflow.org/install/install_linux ํŽ˜์ด์ง€๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ๊ทธ ์ง€์นจ์„ ์ •ํ™•ํžˆ ๋”ฐ๋ž๊ณ  CUDA 8.0(ํŠนํžˆ "์ตœ์‹  CUDA"๊ฐ€ ์•„๋‹˜)์„ ์„ค์น˜ํ•˜๋ผ๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ž‘์—…์„ ๋งˆ์น˜์ž ๋งˆ์ž ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค(cublas 9.0์„ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด CUDA 9.1์ด NVIDIA์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋ฏ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค).

์›น ํŽ˜์ด์ง€ ์ง€์นจ์€ ๋ชจ๋“  ๊ฒƒ์˜ ๊ธฐ๋ณธ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์ž‘๋™ํ•˜๊ฑฐ๋‚˜ tensorflow-gpu๊ฐ€ ์•„๋‹Œ tensorflow-gpu-1.4(์˜ˆ:)๋ฅผ ์„ค์น˜ํ•˜๋„๋ก ๋ช…์‹œ์ ์œผ๋กœ ์•Œ๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ bwesons์˜ ์˜๊ฒฌ์ž…๋‹ˆ๋‹ค. CUDA 8.0๊ณผ Tensorflow 1.3์ด ์žˆ์Šต๋‹ˆ๋‹ค. TF 1.5(GPU, ubuntu, virtualenv)์— ๋Œ€ํ•œ ํ˜„์žฌ ์„ค์น˜ ์ง€์นจ์„ ๋”ฐ๋ž์œผ๋ฉฐ ์œ„์—์„œ ์„ค๋ช…ํ•œ ๋Œ€๋กœ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ๋•Œ๊นŒ์ง€ TF 1.3์œผ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

@aipeteryao ํ•ด๊ฒฐ ํ–ˆ์Šต๋‹ˆ๋‹ค ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‚ด virtualenv์— ์ตœ์‹  ๋ฒ„์ „์„ ์ œ๊ฑฐํ•˜๊ณ  1.4๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

pip3 uninstall tensorflow-gpu
pip3 install --upgrade tensorflow-gpu==1.4

Ubuntu ์„ค์น˜ ํŽ˜์ด์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: https://www.tensorflow.org/install/install_linux
TensorFlow 1.5๋Š” cuDNN 7๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Cuda 9.0(9.1 ์•„๋‹˜)์„ ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

์‚ฌ์‹ค, ์šฐ๋ฆฌ๋Š” tensorflow์˜ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. tensorflow์˜ ํ™˜๊ฒฝ(ํŒŒ์ด์ฌ, gcc, cuda, cudnn ๋“ฑ ํฌํ•จ)์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

@bwesen ๋„ค, ๋งž์Šต๋‹ˆ๋‹ค. ๋‚ด ์ปดํ“จํ„ฐ์—๋Š” CUDA 8.0, cudnn 6.0, tensorflow 1.4๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์—ด๋ ค ์žˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. @bwesen ๋‹˜ ์˜ ์˜๊ฒฌ ์ด ๋งž์Šต๋‹ˆ๋‹ค. ๋ฌธ์„œ์—์„œ๋Š” Cuda 8.0์„ ์„ค์น˜ํ•˜๊ณ  pip install --upgrade tensorflow-gpu ์‚ฌ์šฉํ•˜๋ผ๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ Cuda 8.0์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” tensorflow 1.5๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํ•‘ @asimshankar

๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค(cuda 9.1 + tensorflow 1.5 ์‚ฌ์šฉ). ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ ์˜ต์…˜์€ cuda๋ฅผ 9.0์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์˜ต์…˜์€ cuda๋ฅผ 8.0์œผ๋กœ, tensorflow๋ฅผ 1.4๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ cuda 8.0์„ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด LD_LIBRARY_PATH (๋ฐ CUDA_HOME ) ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ cuda 8.0 ๋””๋ ‰ํ† ๋ฆฌ(์˜ˆ: /usr/local/cuda-8.0 )๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์ˆ˜์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค(Cuda 9.1.85, cuDNN 7.05).

tensorflow 1.5๋กœ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๊ณ ์žฅ๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ œ๊ฑฐ๋˜๊ณ  pip3 install --upgrade tensorflow-gpu==1.4 1.4๋ฅผ ์„ค์น˜ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@DylanDmitri 1.5๋Š” 9.1์ด ์•„๋‹Œ Cuda 9.0์„ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

Cuda 9.0 ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

@DylanDmitri @mkaze Cuda 9.0์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด cuDNN ์„ค์น˜๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. .deb ํŒŒ์ผ์€ ํŒŒ์ผ์„ ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜์— ๋ณต์‚ฌํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ œ๋Œ€๋กœ ์„ค์น˜ํ•˜๋ ค๋ฉด .tgz ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ณ  nVidia์˜ ์ง€์‹œ์— ๋”ฐ๋ผ ์ˆ˜๋™์œผ๋กœ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

cuda-9-0์„ ์„ค์น˜ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

sudo dpkg -iย cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo apt-key adv --fetch-keys \
     http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-9-0

cuda-9-0์„ ์„ค์น˜ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

@abrahamrhoffman sudo ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ์‰ฝ์ง€๋งŒ ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์ด ์žˆ๋Š” ํด๋Ÿฌ์Šคํ„ฐ ํ™˜๊ฒฝ๊ณผ ๊ฐ™์€ ๊ณต์œ  ์‹œ์Šคํ…œ์— ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์€

@abrahamrhoffman ๋ฐ˜๋Œ€ ํˆฌํ‘œ์— ๋Œ€ํ•œ ๊ทผ๊ฑฐ๋„ ์ œ๊ณตํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

cuda-9.0์„ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ •๋ง ์งœ์ฆ๋‚˜๋„ค์š”.

https://stackoverflow.com/questions/39287744/ubuntu-16-04-nvidia-toolkit-8-0-rc-darknet-compilation-error-expected์— ์„ค๋ช…๋œ ๋Œ€๋กœ PATH ๋ณ€์ˆ˜๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

cuda 9.1์ด ํ˜„์žฌ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. TF์—์„œ ์‚ฌ์šฉํ–ˆ์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ?

tf-nightly-gpu์กฐ์ฐจ๋„ cuda 9.1์„ ์ฐพ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฉ”

๋ชจ๋“  9.0 ํŒŒ์ผ ์ด๋ฆ„์—์„œ ๋ชจ๋“  9.1 ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ TF๋Š” ์‹ค์ œ ๋ฒ„์ „์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—๋Š” ๋” ์ด์ƒ 9.0์ด ์—†์œผ๋ฏ€๋กœ 9.1์„ ์ œ๊ฑฐํ•œ ๋‹ค์Œ 9.0์„ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•˜๋ฉด nvidia ํ•ญ๋ชฉ์ด ์†์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ง€๊ธˆ ๊ทธ๋ฅผ ๊ณ ์นœ๋‹ค:

๋‹ค์Œ์—์„œ deb(๋„คํŠธ์›Œํฌ) ๋‹ค์šด๋กœ๋“œ: https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=debnetwork

๊ทธ๋Ÿฐ ๋‹ค์Œ: dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb

๋‹ค์Œ: ์ ์„ฑ ์—…๋ฐ์ดํŠธ

๊ทธ๋Ÿฐ ๋‹ค์Œ : ์ ์„ฑ ์„ค์น˜ cuda-9-0

๋จผ์ € tensorflow 1.5๋ฅผ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ๊ณ ์žฅ๋‚˜์„œ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
๊ทธ๋Ÿฐ ๋‹ค์Œ pip install --upgrade tensorflow-gpu==1.4๋กœ 1.4๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์„ค์น˜ํ–ˆ๋Š”๋ฐ ์ž‘๋™ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory

@xiezhongzhao ์–ด๋–ค ๋ฒ„์ „์˜ Cuda๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? tensorflow 1.5์˜ ๊ฒฝ์šฐ Cuda 9.0์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•˜๊ณ  tensorflow 1.4์˜ ๊ฒฝ์šฐ cuda 8.0์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. tensorflow ๋ฒ„์ „๊ณผ cuda ๋ฒ„์ „์ด ํ˜ธํ™˜๋œ๋‹ค๋ฉด CUDA_HOME ๋ฐ LD_LIBRARY_PATH ์™€ ๊ฐ™์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

@mkaze ์ €๋Š”

@xiezhongzhao Cuda 9.0์„ ์„ค์น˜ํ•˜๋ฉด ๊ดœ์ฐฎ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Tensorflow 1.5๋Š” Cuda 9.1์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

์ €๋„ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ์• ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

$ pip3 install tensorflow-gpu
$ python3
>>> import tensorflow
Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/ubuntu/.local/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/ubuntu/.local/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.5/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

์ด ์ง€์นจ์— ๋”ฐ๋ผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค
https://www.tensorflow.org/install/install_linux#nvidia_requirements_to_run_tensorflow_with_gpu_support

nvidia์—์„œ ์˜ฌ๋ฐ”๋ฅธ ๋ฒ„์ „์„ ์„ค์น˜ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„์€
cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
๋ฐ cudnn-9.0-linux-x64-v7.tgz (๋ฒ„์ „ 7.0.5)

tensorflow ๋ฌธ์„œ์˜ ํ•ด๋‹น ์ง€์นจ์— ๋”ฐ๋ผ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•˜๊ณ  abrahamrhoffman ๊ฐ€ ์œ„์—์„œ ์ œ๊ณตํ•œ ์ง€์นจ๋„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

ldconfig -v๋ฅผ ์‹คํ–‰ํ•˜๋ฉด 9.0 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์ง€๋งŒ libcublas.so.9.0์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

/usr/local/cuda-9.0/targets/x86_64-linux/lib:
    libaccinj64.so.9.0 -> libaccinj64.so.9.0.176
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libcuinj64.so.9.0 -> libcuinj64.so.9.0.176
    libcudart.so.9.0 -> libcudart.so.9.0.176
/usr/local/cuda-9.1/targets/x86_64-linux/lib:
    libnppif.so.9.1 -> libnppif.so.9.1.85
    libcusparse.so.9.1 -> libcusparse.so.9.1.85
    libcusolver.so.9.1 -> libcusolver.so.9.1.85
    libnpps.so.9.1 -> libnpps.so.9.1.85
    libnppial.so.9.1 -> libnppial.so.9.1.85
    libnvgraph.so.9.1 -> libnvgraph.so.9.1.85
    libcuinj64.so.9.1 -> libcuinj64.so.9.1.85
    libaccinj64.so.9.1 -> libaccinj64.so.9.1.85
    libnppicc.so.9.1 -> libnppicc.so.9.1.85
    libcudart.so.9.1 -> libcudart.so.9.1.85
    libnppc.so.9.1 -> libnppc.so.9.1.85
    libnppicom.so.9.1 -> libnppicom.so.9.1.85
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppig.so.9.1 -> libnppig.so.9.1.85
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnppidei.so.9.1 -> libnppidei.so.9.1.85
    libcurand.so.9.1 -> libcurand.so.9.1.85
    libnvblas.so.9.1 -> libnvblas.so.9.1.128
    libnvrtc.so.9.1 -> libnvrtc.so.9.1.85
    libnppitc.so.9.1 -> libnppitc.so.9.1.85
    libnppist.so.9.1 -> libnppist.so.9.1.85
    libcublas.so.9.1 -> libcublas.so.9.1.128
    libnppim.so.9.1 -> libnppim.so.9.1.85
/sbin/ldconfig.real: /usr/local/cuda-9.1/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link

    libcudnn.so.7 -> libcudnn.so.7.0.5
    libcufftw.so.9.1 -> libcufftw.so.9.1.85
    libcufft.so.9.1 -> libcufft.so.9.1.85
    libnppisu.so.9.1 -> libnppisu.so.9.1.85
    libnvrtc-builtins.so.9.1 -> libnvrtc-builtins.so.9.1.85

๋‚˜๋Š” ์ ์–ด๋„ ์˜๋„์ ์œผ๋กœ 9.1์„ ์„ค์น˜ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์žฌ๊ณ  ์šฐ๋ถ„ํˆฌ 16.04๊ฐ€ ์žˆ๋Š” amazon ec2 ์ธ์Šคํ„ด์Šค์— ์žˆ์Šต๋‹ˆ๋‹ค.
nvidia-smi๋Š” ๋˜ํ•œ gpu๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ g3.4xlarge ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

์–ด๋–ค ์ง€์นจ์ด๋ผ๋„ ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

CUDNN ๊ฐ€์ด๋“œ:

http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html

์••์ถ•์„ ํ‘ผ ํŒŒ์ผ( $ tar -xzvf cudnn-9.0-linux-x64-v7.tgz ๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ ๊ฒƒ์„ ์‹คํ–‰ํ•œ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ)์„ /usr/local/cuda ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋ณต์‚ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h
/usr/local/cuda/lib64/libcudnn*

@entropy43 ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ๋งํ–ˆ์–ด์•ผ ํ–ˆ๋‹ค. tar ๋’ค์— cp 2๊ฐœ์™€ chmod ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ls cuda/lib64 ์™€ ๊ฐ™์€ tar ๋ช…๋ น์„ ์‹คํ–‰ํ•œ ํด๋” cuda ํด๋”๋ฅผ ๋ณด๋ฉด
libcudnn.so libcudnn.so.7 libcudnn.so.7.0.5 libcudnn_static.a

nvidia ๋ฌธ์„œ ์—์„œ๋„ ์ด ์„น์…˜์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.
2.3.2. Installing from a Debian File

ํ…Œ์ŠคํŠธ๋Š” 2.4. Verifying ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์–ป๊ธฐ ์œ„ํ•œ ์กฐ์–ธ์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€ ํ˜„์žฌ ์ด๊ฒƒ์ด ์–ด๋””์— ์žˆ๋Š”์ง€ ์š”์•ฝํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๋ฌธ์ œ์—†์ด TF1.3 + cuda 8์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์ตœ์‹  ๋ฒ„์ „์˜ ์„ค์น˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„์ „ํžˆ ์†์ƒ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์กฐ์–ธ?

yazabazra๊ฐ€ ์œ„์—์„œ ๋ฌป๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
TF1.6 ์šฐ๋ถ„ํˆฌ 16.04
nvcc -V
nvcc: NVIDIA(R) Cuda ์ปดํŒŒ์ผ๋Ÿฌ ๋“œ๋ผ์ด๋ฒ„
Copyright (c) 2005-2017 NVIDIA Corporation
Fri_Nov__3_21:07:56_CDT_2017์— ๊ตฌ์ถ•
Cuda ์ปดํŒŒ์ผ ๋„๊ตฌ, ๋ฆด๋ฆฌ์Šค 9.1, V9.1.85
Nvidia ๋””์Šคํ”Œ๋ ˆ์ด ๋“œ๋ผ์ด๋ฒ„ 390+๊ฐ€ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ค‘์š”: https://devtalk.nvidia.com/default/topic/1000340/cuda-setup-and-installation/-quot-nvidia-smi-has-failed-because-it-couldn-t-communicate-with -the-nvidia-driver-quot-ubuntu-16-04/post/5243047/#5243047

TF ๋ฌธ์„œ์—์„œ ์ด์ „ ๋ฆด๋ฆฌ์Šค์— ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ‘œ์‹œํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ๋ฒˆ๊ฑฐ๋กœ์›€์„ ๊ฒช์€ ํ›„ ์œ„์˜ ๋‚ด์šฉ์„ ์ฐธ์กฐํ•˜์—ฌ Nvidia๋ฅผ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋‚˜๋Š” ์–ป๊ณ ์žˆ๋‹ค :
ImportError: libcublas.so.9.0: ๊ณต์œ  ๊ฐœ์ฒด ํŒŒ์ผ์„ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค: ํ•ด๋‹น ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ TensorFlow ๋Ÿฐํƒ€์ž„์„ ๋กœ๋“œํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

9.0(TF๊ฐ€ ์›ํ•จ)๊ณผ ์ตœ์‹  Nvidia์ธ 9.1 ์‚ฌ์ด์˜ ๋ถˆ์ผ์น˜์ธ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.
9.1๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚˜์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์†Œ์Šค์—์„œ TF๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์„ ํ”ผํ•˜๊ณ  ์–ด์จŒ๋“  ์ˆ˜์ •ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฝค๋ณด๋ฅผ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒจํ‚ค์ง€์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
TF 1.6 ์ฟ ๋‹ค 9.1 ??

์—ฌ๊ธฐ๋ฅผ ์ฐพ๋Š” ์‚ฌ๋žŒ๋“ค์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ฐธ๊ณ  ๋ฐ ์ฃผ์˜ ์‚ฌํ•ญ .. ๋‚ด Nvidia ํ•ญ๋ชฉ์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ ํ›„ ๋ณ„๋„์˜ conda ํ™˜๊ฒฝ์— ์žˆ๋Š” ์ด์ „ ๋ฒ„์ „์˜ TF๊ฐ€ ๋” ์ด์ƒ ์ด์ „ TF๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ImportError: libcublas.so.8.0: ๊ณต์œ  ๊ฐœ์ฒด ํŒŒ์ผ์„ ์—ด ์ˆ˜ ์—†์Œ: ํ•ด๋‹น ํŒŒ์ผ ์—†์Œ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ
๊ทธ๋ž˜์„œ 9.1์€ ๊ทธ๊ฒƒ์„ ์ž๋ฅด์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค .. ๋ณด๋‹ค ํผ์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?? ๋Œ€ ํŠน์ • ๋ฒ„์ „? ๊ทธ๋ƒฅ ์ œ์•ˆ.. ๊ทธ ์‚ฌ์ด์— ๋‚˜๋Š” ๋ฌผ์— ์ฃฝ์–ด ..

๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์ด 9.1์„ ์ง€์›ํ•˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ๊ฐ€์šฉ์„ฑ์ด ์ข‹์€ ์ด์œ ์ž…๋‹ˆ๋‹ค: (TF1.6 ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ์—์„œ)

CUDA 9 ๋ฐ CUDA 9.1๊ณผ ํ•จ๊ป˜ XLA:GPU ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€๋น„์ง€ ๊ฒฐ๊ณผ ๋ฐ/๋˜๋Š”
CUDA_ILLEGAL_ADDRESS ์‹คํŒจ.

Google์€ 2017๋…„ 12์›” ์ค‘์ˆœ์— CUDA 9์˜ PTX-to-SASS ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€
CUDA 9.1์€ ๋•Œ๋•Œ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์บ๋ฆฌ ๋น„ํŠธ๋ฅผ ์ œ๋Œ€๋กœ ๊ณ„์‚ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
ํฐ ์˜คํ”„์…‹(์˜ˆ: load [x + large_constant])์ด ์žˆ๋Š” 64๋น„ํŠธ ์ฃผ์†Œ ๊ณ„์‚ฐ์„ SASS์˜ 32๋น„ํŠธ ์‚ฐ์ˆ ๋กœ ๋ถ„ํ•ดํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ๋ฒ„์ „์˜ ptxas๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ XLA ํ”„๋กœ๊ทธ๋žจ์„ ์ž˜๋ชป ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค.
4GB ์ด์ƒ์˜ ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ. ์ด๋กœ ์ธํ•ด ๊ฐ€๋น„์ง€ ๊ฒฐ๊ณผ ๋ฐ/๋˜๋Š”
CUDA_ERROR_ILLEGAL_ADDRESS ์‹คํŒจ.

CUDA 9.1.121์˜ ์ˆ˜์ • ์‚ฌํ•ญ์€ 2018๋…„ 2์›” ๋ง์— ์žˆ์„ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
CUDA 9.0.x์— ๋Œ€ํ•œ ์ˆ˜์ •. ์ˆ˜์ • ์‚ฌํ•ญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ์œ ์ผํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€
CUDA 8.0.x๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ
๋˜๋Š” XLA:GPU๋ฅผ ๋น„ํ™œ์„ฑํ™”

์•„๋งˆ๋„ nightlies ์ค‘ ํ•˜๋‚˜๊ฐ€ ๊ทธ๊ฒƒ์„ํ•ฉ๋‹ˆ๊นŒ?

๋˜ ๋‹ค๋ฅธ ํ•ด๊ฒฐ์ฑ…์€? TF๊ฐ€ ํŠน์ • Rev๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— Cuda์˜ ์—ฌ๋Ÿฌ ๊ฐœ์ •ํŒ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์กฐ์–ธ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋”ฐ๋ผ์„œ ์ด์ƒ์ ์œผ๋กœ๋Š” ํ•œ ์ฝ˜๋‹ค ํ™˜๊ฒฝ์—์„œ TF 1.4(ํ˜„์žฌ Cuda 8.0 ํ•„์š”)๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ TF 1.6(ํ˜„์žฌ Cuda 9.0 ํ•„์š”)์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ทธ๋ž˜์„œ ๋ฐฉ๊ธˆ sudo apt-get -y install cuda-toolkit-9.0์„ ์ถ”๊ฐ€ํ–ˆ๊ณ  TF1.6์œผ๋กœ ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

@dartdog cuda-toolkit-9.0์„ ์„ค์น˜ํ•œ ํ›„ ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ์Šต๋‹ˆ๊นŒ?

@dartdog

sudo apt-get install cuda-7-0
vim ~/.bashrc
export PATH=/usr/local/cuda-7.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda7.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

@bwesen์ด ๋งํ–ˆ๋“ฏ์ด ์ด๊ฒƒ์€ ํ™•์‹คํžˆ tensorflow ๋ฌธ์„œ์— ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์˜ค๋ฅ˜ ๋ชฉ๋ก์— ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? cuda 9.1์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ฌธ์„œ์—์„œ ํŠนํžˆ cuda 9.0์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์–ธ๊ธ‰ํ•˜๊ณ  ์˜ค๋ฅ˜ ๋ชฉ๋ก์—๋„ ํฌํ•จํ•˜๋„๋ก ์š”์ฒญํ•˜์—ฌ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด โ€‹โ€‹๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ข‹์•„, ์–˜๋“ค์•„. ์ด์ œ https://github.com/tensorflow/tensorflow/issues/17629 ์—์„œ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค

์ด ๋ฌธ์ œ๋„ ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. tensorflow-gpu 1.6์—์„œ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ•œ ๊ฒƒ :

  • ์•„์นด์ด๋ธŒ ์—์„œ ํˆดํ‚ท์„ 9.0์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ–ˆ๋Š”๋ฐ 9.1๋กœ ์„ค์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค...)
  • ์—ฌ์ „ํžˆ libcublas.so.9.0์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์‹คํ–‰: sudo apt-get install cuda-libraries-9-0 ์„ค์น˜ ์ง€์นจ์˜ ๋์— ์ œ์•ˆ๋œ ๋Œ€๋กœ.
  • ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ…์„œํ”Œ๋กœ๊ฐ€ CUDA ๋ฒ„์ „๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ๋จผ์ € ์ œ๊ฑฐํ•œ ๋‹ค์Œ ์†Œ์Šค์—์„œ ์ปดํŒŒ์ผํ•˜๊ณ  ./configure๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ CUDA ๋ฒ„์ „์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ž์„ธํ•œ ์ •๋ณด๋Š” https://www.tensorflow.org/install/install_sources ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ์‹œ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (tensorflow๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋นŒ๋“œํ•จ) ๋งํฌ

์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์œผ๋กœ ๋ถ€ ๋ฒ„์ „์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@mldm4 ์‹ค์ œ๋กœ sudo apt-get install cuda ๋ช…๋ น์€ ์‹œ์Šคํ…œ์— 9.1์„ ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋งˆ๋„ 9.1์„ ์„ค์น˜ํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  ํŠน์ • ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด sudo apt-get install cuda-9-0 ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค(์•„์นด์ด๋ธŒ์—์„œ๋„ ๋‹ค์šด๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค).
๋‚˜๋Š” ๋‹น์‹ ์ด ํ•œ commad ( sudo apt-get install cuda-libraries-9-0 )๋„ cuda 9.0์„ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
๋ฌธ์ œ 17629์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ด ๋ฌธ์ œ๋Š” ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” TensorFlow๊ฐ€ ๋ฒ„์ „ 9.0์„ ์˜ˆ์ƒํ•˜๋Š” ๋ฐ˜๋ฉด ์ €๋Š” 9.1์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋ฌธ์„œ์—์„œ ์ด๊ฒƒ์„ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์–ธ๊ธ‰ํ•˜๊ณ  ๋ฌธ์„œ ํ•˜๋‹จ์˜ ์ผ๋ฐ˜์ ์ธ ์„ค์น˜ ๋ฌธ์ œ์— ํฌํ•จํ•˜๊ฑฐ๋‚˜ Cuda 9.1์„ ํ—ˆ์šฉํ•˜๋„๋ก tensorflow๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์•„์ง ํ•ด๊ฒฐ์ฑ…์ด ์—†๋‚˜์š”?

@์Šค๋ ˆ๋“œ :

*ํฌ์ŠคํŒ…์„ ๊ผผ๊ผผํžˆ ์ฝ์–ด์ฃผ์„ธ์š”! *

์Šค๋ ˆ๋“œ๋ฅผ ์ฝ๊ณ  ์†”๋ฃจ์…˜์„ ์ฐพ๋Š” ๊ฒƒ์ด ๋‹น์‹ ์˜ ์ผ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ๋๊นŒ์ง€ ์Šคํฌ๋กคํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

@abrahamrhoffman ๋ฌด๋ก€ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ cuda-9.1์—์„œ cuda๋กœ ๋‚ด batchrc๋ฅผ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋‚ด tensorflow๊ฐ€ libcublas.so.9.0์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ: cuda-9.0 ๋‹ค์šด๋กœ๋“œ๋ฅผ ์œ„ํ•œ nvidia ์›น์‚ฌ์ดํŠธ๋Š” ์‹ค์ œ๋กœ cuda-9.1์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=deblocal

@DanlanChen 9.1๋„ ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ, ๋‹ค์šด๋กœ๋“œ ๋‹จ๊ณ„์—์„œ, 9.0์„ ์„ค์น˜ํ•˜๋ ค๋ฉด sudo apt-get install cuda-9-0 ๋Œ€์‹  sudo apt-get install cuda .

@cubetastic33 ์ €๋Š” tensorflow ๋ฒ„์ „์„ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  cuda8.0์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@DanlanChen ํ•˜์ง€๋งŒ ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ด์ œ ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! :์›ƒ๋‹ค:

๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์ง€๋งŒ nvidia-docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ tensorflow๋ฅผ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ์— cuda-9-0์ด ์„ค์น˜๋˜์–ด ์žˆ์ง€๋งŒ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•˜๋ฉด

ImportError: libcuda.so.1: cannot open shared object file: No such file or directory

@magick93 ๊ณผ ๋ชจ๋“  ๊ฒƒ์ด ์—ฌ๊ธฐ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค!

๋“ฃ๋‹ค! ํ•„์š”ํ•œ ๊ฒƒ์€ cuda 9.1 -> cuda 9.0์„ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ๋‹ค์•ผ! ๊ทธ๋ƒฅ ํ•˜์„ธ์š”(๊ทธ ์ „์— cuda 9.1์„ ๋‹ค์šด๋กœ๋“œํ–ˆ๋‹ค๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค):

sudo apt-get install cuda-9-0 ๋ฐ rm -rf๋กœ cuda 9.1์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

Btw, ~/.bashrc (9.1 -> 9.0)์—์„œ $PATH๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

์•ˆ๋…•ํ•˜์„ธ์š” @Oktai15

๋“ฃ๋‹ค! ํ•„์š”ํ•œ ๊ฒƒ์€ cuda 9.1 -> cuda 9.0์„ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ๋‹ค์•ผ! ๊ทธ๋ƒฅ ํ•ด

์˜ˆ, ์ €๋Š” ์ด๊ฒƒ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ํ–ˆ์Šต๋‹ˆ๋‹ค.

sudo apt-get install cuda-9-0
[sudo] password for anton: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
cuda-9-0 is already the newest version (9.0.176-1).
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
$ ldconfig -p | grep cuda
    libnvrtc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc.so.9.0
    libnvrtc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc.so
    libnvrtc-builtins.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc-builtins.so.9.0
    libnvrtc-builtins.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc-builtins.so
    libnvgraph.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvgraph.so.9.0
    libnvgraph.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvgraph.so
    libnvblas.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvblas.so.9.0
    libnvblas.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvblas.so
    libnvToolsExt.so.1 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvToolsExt.so.1
    libnvToolsExt.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvToolsExt.so
    libnpps.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnpps.so.9.0
    libnpps.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnpps.so
    libnppitc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppitc.so.9.0
    libnppitc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppitc.so
    libnppisu.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppisu.so.9.0
    libnppisu.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppisu.so
    libnppist.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppist.so.9.0
    libnppist.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppist.so
    libnppim.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppim.so.9.0
    libnppim.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppim.so
    libnppig.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppig.so.9.0
    libnppig.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppig.so
    libnppif.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppif.so.9.0
    libnppif.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppif.so
    libnppidei.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppidei.so.9.0
    libnppidei.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppidei.so
    libnppicom.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicom.so.9.0
    libnppicom.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicom.so
    libnppicc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicc.so.9.0
    libnppicc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicc.so
    libnppial.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppial.so.9.0
    libnppial.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppial.so
    libnppc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppc.so.9.0
    libnppc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppc.so
    libicudata.so.55 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so.55
    libcusparse.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusparse.so.9.0
    libcusparse.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusparse.so
    libcusolver.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusolver.so.9.0
    libcusolver.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusolver.so
    libcurand.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcurand.so.9.0
    libcurand.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcurand.so
    libcuinj64.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcuinj64.so.9.0
    libcuinj64.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcuinj64.so
    libcufftw.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufftw.so.9.0
    libcufftw.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufftw.so
    libcufft.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufft.so.9.0
    libcufft.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufft.so
    libcudnn.so.7 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7
    libcudart.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudart.so.9.0
    libcudart.so.7.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so.7.5
    libcudart.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudart.so
    libcudart.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so
    libcuda.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so.1
    libcuda.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so
    libcublas.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcublas.so.9.0
    libcublas.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcublas.so
    libaccinj64.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libaccinj64.so.9.0
    libaccinj64.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libaccinj64.so
    libOpenCL.so.1 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libOpenCL.so.1
    libOpenCL.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libOpenCL.so

๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ฐ„๋‹จํ•œ tensorflow ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์—†์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ImportError: No module named tensorflow.python.client ์–ป์Šต๋‹ˆ๋‹ค.

from tensorflow.python.client import device_lib

def get_available_gpus():
    local_device_protos = device_lib.list_local_devices()
    return [x.name for x in local_device_protos if x.device_type == 'GPU']

get_available_gpus()

๋‚˜๋Š” ๋ชจ๋‘๊ฐ€ ์—ฌ๊ธฐ์—์„œ ๊ฒช๊ณ  ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. 9.0์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋˜์—ˆ์ง€๋งŒ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿผ ๋‹ค์Œ ์ด ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰ ๋‚  ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค.

@Oktai15 ๋Š” rm -rf ์‹œ์Šคํ…œ์„ ์‚ญ์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์‚ฌ๋žŒ๋“ค์ด ํ•„์š”ํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๊ณ  ์‹œ๋„ํ•˜๊ณ  ๊ฒฐ๊ตญ ํ™ˆ ํด๋”๋ฅผ ๋น„์šธ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์—์„œ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ํ•˜์‹ญ์‹œ์˜ค.

@magick93 ๊ท€ํ•˜์˜ ๋ฌธ์ œ๋Š” CUDA ๋ฒ„์ „์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  ์ผ๋ถ€ ๋ณ€๊ฒฝ์œผ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.์ด ์กฐํ•ฉ์ด ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

์šฐ๋ถ„ํˆฌ 16, cuda 9.0, cudnn 7.0, ํŒŒ์ด์ฌ 3,5, ํ…์„œํ”Œ๋กœ 1.6

์•„์ง ์ด์ „ ๋ฒ„์ „์ด ์žˆ๋Š” ๋™์•ˆ ์ƒˆ cuda๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

@Abduoit Ubuntu ๋ฒ„์ „์€ ์‹ค์ œ๋กœ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” TensorFlow 1.6์€ CUDA๊ฐ€ ๋ฒ„์ „ 9.0์ด๊ณ  cuDNN์ด ๋ฒ„์ „ 7.0.4๊ฐ€ ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์˜ˆ, 0.4๊ฐ€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค)

์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
ํŒŒ์ผ "utils.py", 15ํ–‰,
ํ…์„œํ”Œ๋กœ๋ฅผ tf๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ
ํŒŒ์ผ "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/__init__.py", 24ํ–‰,
tensorflow.python์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ *
ํŒŒ์ผ "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/__init__.py", 49ํ–‰,
tensorflow.python์—์„œ pywrap_tensorflow ๊ฐ€์ ธ์˜ค๊ธฐ
ํŒŒ์ผ "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", 74ํ–‰,
ImportError(msg) ๋ฐœ์ƒ
ImportError: ์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
ํŒŒ์ผ "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", 58ํ–‰,
tensorflow.python.pywrap_tensorflow_internal ๊ฐ€์ ธ์˜ค๊ธฐ์—์„œ *
ํŒŒ์ผ "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", 28ํ–‰,
_pywrap_tensorflow_internal = swig_import_helper()
ํŒŒ์ผ "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", 24ํ–‰, swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, ๊ฒฝ๋กœ ์ด๋ฆ„, ์„ค๋ช…)
ImportError: libcublas.so.9.0: ๊ณต์œ  ๊ฐœ์ฒด ํŒŒ์ผ์„ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค: ํ•ด๋‹น ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ TensorFlow ๋Ÿฐํƒ€์ž„์„ ๋กœ๋“œํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

https://www.tensorflow.org/install/install_sources#common_installation_problems๋ฅผ ์ฐธ์กฐ
sudo apt-get ์„ค์น˜ cuda-7-0
vim ~/.bashrc
๋‚ด๋ณด๋‚ด๊ธฐ ๊ฒฝ๋กœ=/usr/local/cuda-7.0/bin${๊ฒฝ๋กœ:+:${๊ฒฝ๋กœ}}
๋‚ด๋ณด๋‚ด๊ธฐ LD_LIBRARY_PATH=/usr/local/cuda7.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
๋‚ด๋ณด๋‚ด๊ธฐ ๊ฒฝ๋กœ=/usr/local/cuda-9.0/bin${๊ฒฝ๋กœ:+:${๊ฒฝ๋กœ}}
๋‚ด๋ณด๋‚ด๊ธฐ LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PA
๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์ด์œ ์™€ ์†”๋ฃจ์…˜ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ „์ฒด ์Šคํƒ ์ถ”์  ํฌํ•จ
๋„์›€์„ ์š”์ฒญํ•  ๋•Œ ์ด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์œ„์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

@pascalwhoop์ด ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด http://www.python36.com/install-tensorflow141-gpu/ ์˜ ์ง€์นจ์— ๋”ฐ๋ผ ์†Œ์Šค์—์„œ Tensorflow ๋ฅผ ๋นŒ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์ด cuda 9.0์ด๋ผ๊ณ  ๋งํ•  ๋•Œ๋งˆ๋‹ค ๋‚˜๋Š” 9.1๋กœ ๋ณ€๊ฒฝํ–ˆ๊ณ  cudnn 7.0์€ 7.1.2๋ฅผ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค!

@SAGGSOC cuda 7.0์„ ์„ค์น˜ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? CUDA 9.0 ๋ฐ CuDNN 7.0.4๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ: ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ณต์œ ๋˜๋Š” ๊ฒฌ๊ณ ํ•œ ๋„์ปค ์ด๋ฏธ์ง€๋กœ ์ „ํ™˜ํ•œ ์‚ฌ๋žŒ. ์˜คํžˆ๋ ค ์ž‘๋™ํ•˜๊ธฐ ์ „์— CuDNN์˜ 5๊ฐœ ๋ฒ„์ „์„ DLingํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ž‘๋™ํ•˜๋Š” 6GB ์ด๋ฏธ์ง€ ํ’€์„ ํ•œ ๋ฒˆ ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค.

https://github.com/pascalwhoop/tf_openalab_gpu_docker

์–ผ๋งˆ ์ „์— ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ํ”„๋กœ์ ํŠธ ์ดˆ์  ์ด๋™์œผ๋กœ ์ธํ•ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ถ”๊ตฌํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ppl์—์„œ 17๊ฐœ์˜ ์›€์ง์ด๋Š” ๋ถ€ํ’ˆ์˜ ์˜ฌ๋ฐ”๋ฅธ ์กฐํ•ฉ์„ ์ฐพ๋Š” ๋ชจ๋“  ์ˆ˜๊ณ ๋ฅผ ๋œ์–ด์ค๋‹ˆ๋‹ค.

์ด ๊ฒŒ์‹œ๋ฌผ์„ ์šฐ์—ฐํžˆ ๋ณด๊ฒŒ ๋  ์‚ฌ๋žŒ์„ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์„ ๋ช…ํ™•ํžˆ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์‹œ์Šคํ…œ์— cuda-8.0, cuda-9.0, cuda-9.1์ด ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. tensorflow์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ฌด๊ฒƒ๋„ ์ œ๊ฑฐํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ด๋ฏธ ์ง€์ ํ–ˆ๋“ฏ์ด ์‹œ์Šคํ…œ์—์„œ cuda-9.0์ด ๋ˆ„๋ฝ๋œ ๊ฒฝ์šฐ tensorflow๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๊ธฐ ์œ„ํ•œ ์ „์ œ ์กฐ๊ฑด์ธ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์ด CUDA-9.0 ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์— ์„ค์น˜ํ•˜๊ณ  tensorflow์— ๋Œ€ํ•ด ๋ถˆํ‰ํ•˜๋Š” ๊ฒฝ์šฐ libcublas.so.9.0 ๋‹ค์‹œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋…ธ์ถœ ๋งํ–ˆ๋“ฏ์ด ๋‹น์‹ ์„ ํ†ตํ•ด ๋Ÿฐํƒ€์ž„ ์ค‘์— ์žˆ์Œ์„ LD_LIBRARY_PATH ์—์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉ์ž์˜ .bashrc ๋ฅผ ๋งŒ๋“ค /usr/local/cuda-9.0/lib64 ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ tensorflow 1.7์—์„œ๋„ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋‹ฌ์„ฑํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ์€ ์†Œ์Šค์—์„œ ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ bazel์€ ํ•ญ์ƒ ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. cuda-9.0/cuda-9.1 ๋ฐ cudnn7๋กœ ๋นŒ๋“œํ•˜๋ ค๊ณ  ํ•˜๋ฉด gcc7์— ๋Œ€ํ•ด ๋ถˆํ‰ํ•ฉ๋‹ˆ๋‹ค. gcc5 ์ปดํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ๊ฒฐ๊ตญ์—๋Š” ํ•ญ์ƒ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ๋นŒ๋“œ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

์ œ ์งˆ๋ฌธ์€ ๋ˆ„๊ตฌ๋“ ์ง€ ๋ฌธ์ œ ์—†์ด cuda-9.1/cuda-9.0์„ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์Šค์—์„œ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๊นŒ?

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค.

NVidia ์ด์ „ ๋ฆด๋ฆฌ์Šค ์„น์…˜์—์„œ CUDA Toolkit 9.0์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
๊ทธ ๋‹ค์Œ์—:

sudo dpkg -iย cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub 
sudo apt-get update
sudo apt-get install cuda-9.0

์œ„์˜ ๋งˆ์ง€๋ง‰ ์ค„์— 9.0์ด ์žˆ์Šต๋‹ˆ๋‹ค.

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64

๋‚ด ์„ค์ •
ํ…์„œํ”Œ๋กœ 1.7
cuDNN 7.1.2
์šฐ๋ถ„ํˆฌ 16.04

์—ํ…Œ๋ฏธ์ฆˆ,
๋‚˜๋Š” ๊ฐ™์€ ์„ค์ •์„ํ–ˆ๊ณ  ๊ทธ๊ฒƒ์€ ๋‚˜์—๊ฒŒ๋„ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ๊ฒŒ์‹œ๋ฌผ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค :)

์ €๋„ ๊ฐ™์€ ์ƒํ™ฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” cuda 9.1์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๊ณ  tensorflow๋Š” cuda 9.0์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

sudo apt-get install cuda-libraries-9-0 ๋ช…๋ น์œผ๋กœ cuda 9.0์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

cuda 8 ๋ฐ 9.0์ด ์„ค์น˜๋œ ์ƒํƒœ์—์„œ .bashrc ๋ฐ .profile LD_LIBRARY_PATH ์„ค์ •์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ, ๋‚˜๋Š” ์„ค์ •
pycharm ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ•„๋“œ์— LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64 ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์œ„๋Š” Ubuntu Server 17์— ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰,

  • cuda-9.0 ์„ค์น˜(9.1 ์•„๋‹˜)
  • CUDA 9.0์šฉ cuDNN v7.1.2(2018๋…„ 3์›” 21์ผ)
  • ๊ณต์‹ tf ์„ค์น˜ ์ง€์นจ์— ๋”ฐ๋ฅธ ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒƒ

์ปดํŒŒ์ผ๋ณด๋‹ค ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค.

์ฝ˜๋‹ค ์‚ฌ์šฉ์ž๋ฅผ ์กฐ์‹ฌํ•˜์‹ญ์‹œ์˜ค. ๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ์— ๋ถ€๋”ชํ˜€ ์ดํ‹€ ๋™์•ˆ ๋จธ๋ฆฌ๋ฅผ ๊ธ์ ์ด๋ฉฐ ๋งˆ์นจ๋‚ด libcudnn.so์˜ ๋กœ์ปฌ ์‚ฌ๋ณธ์ด conda์—์„œ ์‚ฌ์šฉ๋˜์—ˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
/miniconda3/lib/libcudnn.so๋Š” libcudnn.so.7.0.5๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” libcudnn.so.7์„ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.
๋ˆ„๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ฑฐ๊ธฐ์— ๋ฐฐ์น˜ํ–ˆ๋Š”์ง€ ๊ธฐ์–ต๋‚˜์ง€ ์•Š์ง€๋งŒ ๊ฑฐ์˜ ์‹œ์Šคํ…œ ๊ธฐ๋ณธ libcudnn.so.7.1.2์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค!!!

์ผ๋‹จ ์ œ๊ฑฐ๋˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๋งค๋ ฅ์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
tensorflow 1.7 ๋˜๋Š” 1.8-nightly, cuda-9.1, ์šฐ๋ถ„ํˆฌ 16.04์˜ cudnn-7.1.2

์–ด๋–ป๊ฒŒ ๋“  ๋‹ค์Œ์„ ์„ค์น˜ํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
cuda 9.1(ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์—์„œ),
9.1์šฉ cudnn 7.1
๊ทธ๋ฆฌ๊ณ  ์•„๋‚˜์ฝ˜๋‹ค์—์„œ :
์ด ๊ธฐ๋ณธ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ 'conda install -c anaconda tensorflow-gpu'
์ฟ ๋‹ค ํˆดํ‚ท 9.0,
ํ…์„œํ”Œ๋กœ 1.7,
ํ…์„œํ”Œ๋กœ GPU 1.7

๋‚ด PC์—์„œ Antergos linux, GTX 1060์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๋…ธํŠธ๋ถ(Xubuntu 18.04, GT 840m)์—์„œ๋„ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๋…ธํŠธ๋ถ์—์„œ ๋‹ค์Œ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
cuda 9.1(nvidia ppa์—์„œ), cudnn 7.1 for 9.1(nvidia web์—์„œ), ๋‚˜๋จธ์ง€๋Š” ๋™์ผ

@Suananda ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๊ฒƒ์€ ๋งˆ์ˆ ์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ๋ฒ„์ „์˜ CUDA๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ํŠนํžˆ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ์‹  CUDA๋ฅผ ์„ค์น˜ํ•˜๋”๋ผ๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋งํฌ๊ฐ€ ์ด์ „ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ์„ค์น˜๋ฅผ ์‚ญ์ œํ•œ ๋‹ค์Œ sudo ldconfig๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์  ๋งํฌ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์‹ญ์‹œ์˜ค.

์•„์ง ํ•ด๊ฒฐ์ฑ…์ด ์—†๋‹ค!?

์ด๊ฒƒ์„ ์šฐ์—ฐํžˆ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด cuda 9.1๋กœ ๋นŒ๋“œ๋œ ์ตœ์‹  tensorflow 1.8.0-rc1 ์ปค๋ฎค๋‹ˆํ‹ฐ ํœ ์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜

๋‚˜๋Š” ๊ทธ ์ด์œ ๊ฐ€ ldconf๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ldconfig๋Š” ์‹œ์Šคํ…œ์—์„œ ๋™์  ๋งํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง„ ๋™์  ๋งํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ldconf๋Š” /lib ๋ฐ /usr/lib์™€ ๊ตฌ์„ฑ ํŒŒ์ผ /etc/ld์— ๋‚˜์—ด๋œ ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ๋งŒ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ. ํšŒ์˜

๋”ฐ๋ผ์„œ ์ด ๋ชจ๋“  ๊ฒƒ์€ /path/cuda-9.0/lib64 ๋˜๋Š” /path/cuda-9.0/lib์™€ ๊ฐ™์€ ์„ค์น˜๋œ CUDA ๊ฒฝ๋กœ์— ์žˆ๋Š” CUDA์˜ ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜ํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด ๋‚ด CUDA๋Š” /usr/local/cuda-9.0์— ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค)

  1. CUDA ๋งค๋‰ด์–ผ์„ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ์„ค์น˜ ํ›„ /etc/ld.so.conf ํŒŒ์ผ์— cuda/lib64์˜ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    sudo echo "/usr/local/cuda-9.0/lib64/" >> /etc/ld.so.conf
    ๊ทธ ๋‹ค์Œ์—
    sudo ldconfig

    ๋ฌผ๋ก  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒฝ๋กœ ๋งค๋‰ด์–ผ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    vim /etc/ld.so.conf
    ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋์— '/usr/local/cuda-9.0/lib64' ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    sudo ldconfig
    ์ž‘์—… ํ›„ ipython ๋˜๋Š” pycharm์„ ๋‹ค์‹œ ์—ฝ๋‹ˆ๋‹ค.
    ํ…์„œํ”Œ๋กœ๋ฅผ tf๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ
    ์™€์šฐ, ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ์ฆ๊ธธ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

  2. 'dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb' ๋“ฑ์˜ ๋ช…๋ น์œผ๋กœ CUDA๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ž๋™์œผ๋กœ /etc/ld.so.conf์— cuda lib ๊ฒฝ๋กœ๊ฐ€ ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•ˆ์ „์„ ์œ„ํ•ด /etc/ld.so.conf๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ฒฝ๋กœ๊ฐ€ ์ถ”๊ฐ€๋˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

@NYcleaner
Ubuntu์—๋Š” ๋‹ค์Œ์„ ํฌํ•จํ•˜๋Š” /etc/ld.so.conf.d/cuda-9-1.conf ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
/usr/local/cuda-9.1/targets/x86_64-linux/lib

์ด๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด /usr/local/cuda-9.1/lib64/ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

@sebma
/usr/local/cuda-9.1/lib64/ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. * .so ํŒŒ์ผ์€ lib64์— ์žˆ์Šต๋‹ˆ๋‹ค.

sudo bash -c "echo /usr/local/cuda/lib64/ >/etc/ld.so.conf.d/cuda.conf"
sudo ldconfig

https://gist.github.com/zhanwenchen/e520767a409325d9961072f666815bb8์—์„œ

@mashu ์Œ ๋‹ค๋ฅธ ์˜ต์…˜์€ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ๋ฐ”ํ€ด๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ„์˜ 2-3 ์Šค๋ ˆ๋“œ๋ฅผ ์ฝ์œผ๋ฉด ๋‹ค์‹œ ์–ธ๊ธ‰๋œ ๋‚ด์šฉ๋„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@Suananda ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. tensorflow conda ํ™˜๊ฒฝ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
๊ณต์‹ ์‚ฌ์šฉ์ž์—๊ฒŒ ์„ค์น˜ ๊ฐ€์ด๋“œ " https://www.tensorflow.org/install/install_linux#InstallingAnaconda ", Anaconda ์„ค์น˜์˜ 4๋‹จ๊ณ„๋ฅผ "pip install --ignore-installed --upgrade tfBinaryURL"์—์„œ "conda๋กœ ์ˆ˜์ •ํ•˜๋„๋ก ์ œ์•ˆํ•˜์‹ญ์‹œ์˜ค. -c anaconda tensorflow-gpu ์„ค์น˜"

Softlink๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

โžœ  cuda ls lib64 
libaccinj64.so                libcufftw_static.a     libnppial.so.9.2      libnppig_static.a    libnvblas.so.9.2
libaccinj64.so.9.2            libcuinj64.so          libnppial.so.9.2.88   libnppim.so          libnvblas.so.9.2.88
libaccinj64.so.9.2.88         libcuinj64.so.9.2      libnppial_static.a    libnppim.so.9.2      libnvgraph.so
libcublas_device.a            libcuinj64.so.9.2.88   libnppicc.so          libnppim.so.9.2.88   libnvgraph.so.9.2
libcublas.so                  libculibos.a           libnppicc.so.9.2      libnppim_static.a    libnvgraph.so.9.2.88
libcublas.so.9.0              libcurand.so           libnppicc.so.9.2.88   libnppist.so         libnvgraph_static.a
libcublas.so.9.2              libcurand.so.9.2       libnppicc_static.a    libnppist.so.9.2     libnvrtc-builtins.so
libcublas.so.9.2.88           libcurand.so.9.2.88    libnppicom.so         libnppist.so.9.2.88  libnvrtc-builtins.so.9.2
libcublas_static.a            libcurand_static.a     libnppicom.so.9.2     libnppist_static.a   libnvrtc-builtins.so.9.2.88
libcudadevrt.a                libcusolver.so         libnppicom.so.9.2.88  libnppisu.so         libnvrtc.so
libcudart.so                  libcusolver.so.9.2     libnppicom_static.a   libnppisu.so.9.2     libnvrtc.so.9.2
libcudart.so.9.2              libcusolver.so.9.2.88  libnppidei.so         libnppisu.so.9.2.88  libnvrtc.so.9.2.88
libcudart.so.9.2.88           libcusolver_static.a   libnppidei.so.9.2     libnppisu_static.a   libnvToolsExt.so
libcudart_static.a            libcusparse.so         libnppidei.so.9.2.88  libnppitc.so         libnvToolsExt.so.1
libcufft.so                   libcusparse.so.9.2     libnppidei_static.a   libnppitc.so.9.2     libnvToolsExt.so.1.0.0
libcufft.so.9.2               libcusparse.so.9.2.88  libnppif.so           libnppitc.so.9.2.88  libOpenCL.so
libcufft.so.9.2.88            libcusparse_static.a   libnppif.so.9.2       libnppitc_static.a   libOpenCL.so.1
libcufft_static.a             libnppc.so             libnppif.so.9.2.88    libnpps.so           libOpenCL.so.1.0
libcufft_static_nocallback.a  libnppc.so.9.2         libnppif_static.a     libnpps.so.9.2       libOpenCL.so.1.0.0
libcufftw.so                  libnppc.so.9.2.88      libnppig.so           libnpps.so.9.2.88    stubs
libcufftw.so.9.2              libnppc_static.a       libnppig.so.9.2       libnpps_static.a
libcufftw.so.9.2.88           libnppial.so           libnppig.so.9.2.88    libnvblas.so

์•„์ง๋„์žˆ์–ด:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

๋‚ด ์ฝ”๋“œ๋ฅผ Linux ํ™˜๊ฒฝ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์›๊ฒฉ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ pycharm์—์„œ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory. "Failed to load the native TensorFlow runtime."

๋‚ด๋ณด๋‚ด๊ธฐ ๊ฒฝ๋กœ=${๊ฒฝ๋กœ}:/usr/local/cuda-9.0/bin
๋‚ด๋ณด๋‚ด๊ธฐ CUDA_HOME=${CUDA_HOME}:/usr/local/cuda:/usr/local/cuda-9.0
๋‚ด๋ณด๋‚ด๊ธฐ LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-9.0/lib64
๋‚ด๋ณด๋‚ด๊ธฐ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64

pycharm์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ - ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์ถ”๊ฐ€

f**๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ์ €๋Š” tensorflow1.8๊ณผ cuda9.1๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ?

@dongzhuoyao ๊ทธ๋ž˜์„œ ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์œ„์˜ ๋‚ด ์˜๊ฒฌ 6๊ฐœ ์Šค๋ ˆ๋“œ๋ฅผ ๋ณด๊ณ  ๊ฑฐ๊ธฐ์—์„œ ์†”๋ฃจ์…˜์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

cuda 9.2 ๋ฐ tensorflow-gpu 1.8 ๋ฌธ์ œ๊ฐ€ ๋‹ค์‹œ ๋ฐœ์ƒํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. virtualenv์—์„œ ๋‹ค์Œ์„ ์–ป์Šต๋‹ˆ๋‹ค.

>>> import tensorflow as tf
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

๋‚ด /usr/local/cuda-9.2/lib64 ํด๋”์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ libcublas๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

$ ls /usr/local/cuda-9.2/lib64 | grep libcublas
libcublas_device.a
libcublas.so
libcublas.so.9.2
libcublas.so.9.2.113
libcublas.so.9.2.88
libcublas_static.a

๋ฒ„์ „:

Ubuntu 16.04
cuda 9.2
cudnn 7.1.4
tensorflow-gpu 1.8.0

cuda 9.2๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด tensorflow-gpu๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ cuda 9.0์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋ฉด ๋จผ์ € cuda 9.2๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด 9.0์„ ๋ฐ”๋กœ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์ถฉ๋Œํ•˜๋Š” ์„ค์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@mebble ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค: link . cuda 9.2์šฉ tf 1.8 ํœ ์ž…๋‹ˆ๋‹ค.

cuda 9.0์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋ฉด ๋จผ์ € cuda 9.2๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์›ํ•˜๋Š” ๋‹ค๋ฅธ ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๋ฉด /usr/local/cuda-x.x

๊ฐ์‚ฌ ํ•ด์š”! ๋‚˜๋Š” python 3.5.2 ๋ฐ pip 10.0.1 ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์–ธ๊ธ‰ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์—ˆ์Šต๋‹ˆ๋‹ค. ํœ ์€ python 3.6 ์šฉ์ด๋ฏ€๋กœ ์„ค์น˜๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. 3.5์šฉ๋„ ์žˆ๋‚˜์š”?

@kirk86 ๋‹น์‹ ์ด ์ค€
์ €๋Š” CentOS ๋ฐ K80 GPU, cuda 9.2 ๋ฐ cudnn v7.1์„ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค.

์ œ์•ˆ

๋‚ด๊ฐ€ ์•„๋Š” ํ•œ ํ•˜์œ„ ํŒจํ‚ค์ง€ xxx, yyy, zzz ๋“ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

pip install mainpackage[xxx]

์ด๋Ÿฐ ์‹์œผ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ๊ณต์กดํ•˜๋Š” ๋ฐฑ์—”๋“œ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Tensorflow๋Š” ๋‹ค๋ฅธ ์˜ต์…˜์œผ๋กœ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ตœ์†Œํ•œ ๋ช‡ ๊ฐ€์ง€ cuda-toolkit ๋นŒ๋“œ๊ฐ€ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ œ๊ณต๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€์˜ ์š”์ ์€ ๋นŒ๋“œ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ์„ค์น˜๋Š” ์ž˜ ํ•˜์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ํŠน์ • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ธํŠธ์— ๋Œ€ํ•œ ํŒจํ‚ค์ง€ ๋นŒ๋“œ๋Š” ๋น„์ƒ์‚ฐ์ ์ž…๋‹ˆ๋‹ค. ์• ์ดˆ์— ๊ทธ๋Ÿฐ ํŒจํ‚ค์ง€๋Š” ์—†๋Š”๊ฒŒ ๋‚˜์„๋“ฏ.

@mebble ์€ python 3.6์„ ์œ„ํ•œ conda ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ openmpi์—๋„ ์„ค์น˜ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

@ pavan-08 ์‹œ์Šคํ…œ์— openmpi๋ฅผ ์„ค์น˜ํ•˜๊ณ  nvidia์˜ ์ตœ์‹  ๋ฒ„์ „์ธ nccl 2.x๋„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํŒจํ‚ค์ง€์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ tf๋ฅผ ์ปดํŒŒ์ผ ํ–ˆ์œผ๋ฏ€๋กœ hdfs, kafta, aws ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ libmpi.so๋ฅผ ์š”์ฒญํ•˜๋Š” ์ด์œ ๋Š” openmpi ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

cuda 9.2 ๋ฐ tensorflow-gpu 1.8์—์„œ๋Š” tensorflow๋ฅผ ๋นŒ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์„ ์–ธ๋œ ์ถœ๋ ฅ 'external/local_config_cuda/cuda/cuda/lib/libcudnn.so.7'์€ ๋งค๋‹ฌ๋ฆฐ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ์ž…๋‹ˆ๋‹ค.

์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค

๋ฒ„์ „:

์šฐ๋ถ„ํˆฌ 17.10
์ฟ ๋‹ค 9.2
์ปค๋“œ 7.1.4
ํ…์„œํ”Œ๋กœ์šฐ GPU 1.8.0

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค (tensorflow-gpu==1.8.0 ๋ฐ cuda ๋ฒ„์ „์€ 9.0, ์•„๋‚˜์ฝ˜๋‹ค์— ์„ค์น˜)

export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/

์ œ์•ˆ: https://stackoverflow.com/questions/48428415/importerror-libcublas-so-9-0-cannot-open-shared-object-file

@Jackiexiao ์˜ˆ, ์ œ๊ฐ€ ๋งํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์›Œํฌ์Šคํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ 9.2 ๋Œ€์‹  CUDA 9.0์„ ์‚ฌ์šฉํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค(์—ฌ๋Ÿฌ ๋ฒ„์ „์˜ CUDA๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—).

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค.
Tensorflow > 1.4์—๋Š” CUDA 9๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ ๋ชจ๋“  CUDA ๋ฒ„์ „์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. sudo rm -rf /usr/local/cuda*
  2. dpkg -l | grep cuda- | awk '{์ธ์‡„ $2}' | xargs -n1 sudo dpkg --purge

excatly CUDA 9.0 ๋ฐ CuDNN 7.0.x๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์žฌ๋ถ€ํŒ…ํ•˜์‹ญ์‹œ์˜ค.

CUDA, CuDNN ๋ฐ Tensorflow์˜ ์กฐํ•ฉ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ด ์˜ค๋ฅ˜๋Š” ์ฃผ๋กœ Nvidia ๋“œ๋ผ์ด๋ฒ„, CUDA, CuDNN ๋ฐ Tensorflow-gpu์˜ ์ž˜๋ชป๋œ ๋ฒ„์ „ ์กฐํ•ฉ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
image

๊ณ ๋งˆ์›Œ!

| |
ๆจๅบท
|
|
้‚ฎ็ฎฑ๏ผš [email protected]
|

็ญพๅ็”ฑ ็ฝ‘ๆ˜“้‚ฎ็ฎฑๅคงๅธˆ ๅฎšๅˆถ

2018๋…„ 8์›” 18์ผ 08:00์— Dhruv Srivastava๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

CUDA์™€ CuDNN์˜ ์กฐํ•ฉ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ด ์˜ค๋ฅ˜๋Š” ์ฃผ๋กœ Nvidia ๋“œ๋ผ์ด๋ฒ„, CUDA, CuDNN ๋ฐ Tensorflow-gpu์˜ ์ž˜๋ชป๋œ ๋ฒ„์ „ ์กฐํ•ฉ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ๋ณด๊ฑฐ๋‚˜ ์Šค๋ ˆ๋“œ๋ฅผ ์Œ์†Œ๊ฑฐํ•˜์„ธ์š”.

@dhruvhacks ์ข‹์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ์˜ฌ๋ฐ”๋ฅธ ๋ฒ„์ „์˜ cuda์™€ ํ•จ๊ป˜ ์˜ฌ๋ฐ”๋ฅธ ๋ฒ„์ „์˜ tensorflow-gpu๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” Ubuntu 18.08์„ ์‚ฌ์šฉ ์ค‘์ด๊ณ  Cuda 9.0์„ ๋‹ค์Œ ์œ„์น˜์— ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

/usr/local/cuda-9.0

libcublas.so.9.0 ๋ฅผ ์ฐพ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

# build search index
updatedb
# find the "missing" file
locate libcublas.so.9.0

์ฆ‰, ํŒŒ์ผ์— ์žˆ๋˜ ๋‚˜์—๊ฒŒ ๋งํ–ˆ๋‹ค /usr/local/cuda-9.0/lib64/stubs/libcublas.so.9.0 ๋‚˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค ๊นจ๋‹ซ๊ฒŒ ๋„์›€ :์—์„œ ~/.bash_profile ๋‚ด๊ฐ€ ์„ค์ •ํ–ˆ๋‹ค : export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/ ,ํ•˜์ง€๋งŒ ๋‚ด ํŒŒ์ผ์— ์žˆ๋˜ stubs ๋””๋ ‰ํ† ๋ฆฌ์ด๋ฏ€๋กœ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/stubs/

๋งˆ์ง€๋ง‰์œผ๋กœ libcublas.so.9.0 ๋Š” ๋ฃจํŠธ ์†Œ์œ ์ด๋ฏ€๋กœ ํŒŒ์ผ์˜ ๊ถŒํ•œ๊ณผ ์†Œ์œ ์ž๋ฅผ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

sudo chown -R MY_USER:MY_GROUP /usr/local/cuda-9.0/
sudo chmod -R 777 /usr/local/cuda-9.0/

๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ž˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

cuda 8 ๋ฐ 9.0์ด ์„ค์น˜๋œ ์ƒํƒœ์—์„œ .bashrc ๋ฐ .profile LD_LIBRARY_PATH ์„ค์ •์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ, ๋‚˜๋Š” ์„ค์ •
pycharm ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ•„๋“œ์— LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64 ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ •ํ™•ํžˆ, ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐ ๋ฉฐ์น ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

PyCharm ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ ์„œ๋ฒ„(aws deep learning ami)์—์„œ ๋‚ด ์ฝ”๋“œ๋ฅผ ๋””๋ฒ„๊น…ํ•  ๋•Œ๋„ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. cuda ๋ฒ„์ „์€ 9.0์ด๊ณ  cudnn์€ 7.1.4์ด๊ณ  tensorflow๋Š” 1.10.0(gpu์šฉ)์ž…๋‹ˆ๋‹ค. ๋‚ด ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋œ ํ„ฐ๋ฏธ๋„์—์„œ ์ •์ƒ์ ์œผ๋กœ tensorflow๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์ง€๋งŒ PyCharm์˜ python ์ฝ˜์†”์—์„œ tensorflow๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ PyCharm์œผ๋กœ ๋””๋ฒ„๊ทธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค...
๋‚ด ์†”๋ฃจ์…˜์€ ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•œ ํ›„ ํ„ฐ๋ฏธ๋„์— ์ด ์ค„์„ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

sudo ldconfig /usr/local/cuda/lib64

๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ์ด๊ฒƒ์„ ์ฐธ์กฐํ–ˆ๋‹ค Link

@NYcleaner ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค! ๊ทธ๋ฆฌ๊ณ  ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.
sudo ์—์ฝ” "/usr/local/cuda/lib64/" >> /etc/ld.so.conf
sudo ldconfig

์ด๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹Cuda 9.1 ๋ฐ Tensorflow 1.11์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์ฟ ๋‹ค 10.0 ํ…์„œํ”Œ๋กœ 1.11

๋” ๋‚˜์€ ์†”๋ฃจ์…˜ - tensorflow ์ œ๊ฑฐ, pytorch ์„ค์น˜
์™œ tensorflow๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์‰ฝ๊ฒŒ ์ œ๋™๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์™œ ๊ทธ๋ƒฅ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?
pytorch์—์„œ๋Š” ์‰ฝ๊ณ  tf์—์„œ๋Š” ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? Wtf๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‚˜์š”?

cuda-9-0์„ ์„ค์น˜ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

sudo dpkg -iย cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo apt-key adv --fetch-keys \
     http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-9-0

์šฐ๋ถ„ํˆฌ 18.04์—์„œ cuda 9-0์€ (๊ณต์‹์ ์œผ๋กœ) ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„,
๊ฐ€๋Šฅํ•œ ํ•œ PyTorch๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ (Keras) ๋ชจ๋ธ์„ tensorflowjs๋กœ ๋‚ด๋ณด๋‚ด์•ผ ํ•˜๋Š” ํŠน์ • ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ tf๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ด์—ˆ๋˜ ์œ ์ผํ•œ ์†”๋ฃจ์…˜์€ ์—ฌ๊ธฐ์— ์„ค๋ช…๋œ ๋Œ€๋กœ Ubuntu ๋ฉ€ํ‹ฐ๋ฒ„์Šค์—์„œ CUDA๋ฅผ ์„ค์น˜ํ•œ ํ›„ ์†Œ์Šค์—์„œ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

https://medium.com/@asmello/how -to-install-tensorflow-cuda-9-1-into-ubuntu-18-04-b645e769f01d

๋ณธ ์ฐฌ์Šค!

๋” ๋‚˜์€ ์†”๋ฃจ์…˜ - tensorflow ์ œ๊ฑฐ, pytorch ์„ค์น˜
์™œ tensorflow๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์‰ฝ๊ฒŒ ์ œ๋™๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์™œ ๊ทธ๋ƒฅ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?
pytorch์—์„œ๋Š” ์‰ฝ๊ณ  tf์—์„œ๋Š” ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? Wtf๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‚˜์š”?

์–ด๋ฆฌ์„์€ ํ•ด๊ฒฐ์ฑ…

Cuda 10๊ณผ ์ตœ์‹  ๋ฒ„์ „์˜ Tensor Flow๋ฅผ ์„ค์น˜ํ–ˆ์ง€๋งŒ ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory ๋ฐ›์•˜๊ณ  ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ–ˆ๋Š”๋ฐ๋„ ์—ฌ์ „ํžˆ ์ด ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค...

Cuda 10๊ณผ ์ตœ์‹  ๋ฒ„์ „์˜ Tensor Flow๋ฅผ ์„ค์น˜ํ–ˆ์ง€๋งŒ ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory ๋ฐ›์•˜๊ณ  ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ–ˆ๋Š”๋ฐ๋„ ์—ฌ์ „ํžˆ ์ด ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค...

OS ๋ฒ„์ „๊ณผ "๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ"ํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰ํ•œ ์ •ํ™•ํ•œ ๋ช…๋ น์„ ์•Œ๋ ค์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” Deepin 15.8๊ณผ Mint 19.1์„ ์‹œ๋„ํ–ˆ๊ณ  ๋‚˜์ค‘์— Windows 10์„ ํ…Œ์ŠคํŠธํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. pip install --upgrade tensorflow-gpu==version ๋ช…๋ น, ๋‚˜๋Š” ๋งˆ์Šคํ„ฐ ๋ฒ„์ „ 1.9.0, 1.10.1, 1.11.0 ๋ฐ 1.12.0์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. cuda ๋ฒ„์ „ ๋ฐ ๋“œ๋ผ์ด๋ฒ„:

image

@Sphinxs , ์ œ ์ƒ๊ฐ์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. a) ์„ค์น˜๋œ cuda ๋ฒ„์ „์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก python ํœ ์„ ๋กœ์ปฌ๋กœ ๋‹ค์‹œ ์ปดํŒŒ์ผํ•˜๊ฑฐ๋‚˜ b) 18.04 ์„ค์น˜์—์„œ ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ cuda-9.0 ์„ ์„ค์น˜ํ•˜๊ณ  ๋ช‡ ๋‹ฌ ํ›„์—๋„ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋” ๋‚˜์€ ์†”๋ฃจ์…˜ - tensorflow ์ œ๊ฑฐ, pytorch ์„ค์น˜
์™œ tensorflow๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์‰ฝ๊ฒŒ ์ œ๋™๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์™œ ๊ทธ๋ƒฅ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?
pytorch์—์„œ๋Š” ์‰ฝ๊ณ  tf์—์„œ๋Š” ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? Wtf๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‚˜์š”?

๋‚จ์ž๋Š” ์š”์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. TF๋Š” ์ตœ์‹  CUDA ๋ฒ„์ „๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค... ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๊ธฐ๋ณธ cuda ๋ฒ„์ „์„ ๋™์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ tensorflow-gpu-cuda110 ํŒจํ‚ค์ง€ ๋˜๋Š” ์ž„์‹œ๋กœ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ด๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋” ๋‚˜์€ ์†”๋ฃจ์…˜ - tensorflow ์ œ๊ฑฐ, pytorch ์„ค์น˜
์™œ tensorflow๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์‰ฝ๊ฒŒ ์ œ๋™๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์™œ ๊ทธ๋ƒฅ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?
pytorch์—์„œ๋Š” ์‰ฝ๊ณ  tf์—์„œ๋Š” ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? Wtf๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‚˜์š”?

์ง€๊ฒน๋‹ค!!!!

์ง€๊ฒน๋‹ค!!!!

์ด ์˜๊ฒฌ์€ ๋ฌธ์ œ์— ์•„๋ฌด ๊ฒƒ๋„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์•„๋ฌด๋„ TF๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๊ฐ•์š”ํ•˜์ง€ ์•Š์ง€๋งŒ pip ํŒจํ‚ค์ง€๋ฅผ ์ž‘๋™ํ•ด์•ผ ํ•˜๊ณ  ์ž‘๋™ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ง์ ‘ ๋นŒ๋“œํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ ์–ด๋Š ์‹œ์ ์—์„œ ๋๋‚ด๋Š” ์ผ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์ปค๋ฎค๋‹ˆํ‹ฐ ์ง€์› ๋นŒ๋“œ๋„ ์žˆ์Œ์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
https://github.com/tensorflow/tensorflow ์•„๋ž˜๋กœ ์Šคํฌ๋กค
GPU์šฉ์œผ๋กœ ๋นŒ๋“œํ•˜๊ณ  ๊ธฐ์—ฌํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋” ๋‚˜์€ ์†”๋ฃจ์…˜ - tensorflow ์ œ๊ฑฐ, pytorch ์„ค์น˜
์™œ tensorflow๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์‰ฝ๊ฒŒ ์ œ๋™๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์™œ ๊ทธ๋ƒฅ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?
pytorch์—์„œ๋Š” ์‰ฝ๊ณ  tf์—์„œ๋Š” ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? Wtf๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‚˜์š”?

์ง€๊ฒน๋‹ค!!!!

์ด์Šˆ ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ์ˆ˜ ์žˆ๋„๋ก ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๊ฑฐ๋‚˜ ๋” ๋‚˜์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ์„ธ์š”.

@raphaunix ์ด ์ฐจํŠธ์˜ ์ถœ์ฒ˜๋ฅผ ์—ฌ์ญค๋ด๋„ ๋ ๊นŒ์š”?

๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ Tensorflow 1.11.0์ด ์ž‘๋™ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

conda create -n tf python=2
conda activate tf
pip install tensorflow-gpu==1.11
conda install cudatoolkit==9.0

๋‚˜๋Š” ๊ทธ ์ด์œ ๊ฐ€ ldconf๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ldconfig๋Š” ์‹œ์Šคํ…œ์—์„œ ๋™์  ๋งํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง„ ๋™์  ๋งํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ldconf๋Š” /lib ๋ฐ /usr/lib์™€ ๊ตฌ์„ฑ ํŒŒ์ผ /etc/ld์— ๋‚˜์—ด๋œ ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ๋งŒ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ. ํšŒ์˜

๋”ฐ๋ผ์„œ ์ด ๋ชจ๋“  ๊ฒƒ์€ /path/cuda-9.0/lib64 ๋˜๋Š” /path/cuda-9.0/lib์™€ ๊ฐ™์€ ์„ค์น˜๋œ CUDA ๊ฒฝ๋กœ์— ์žˆ๋Š” CUDA์˜ ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜ํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด ๋‚ด CUDA๋Š” /usr/local/cuda-9.0์— ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค)

1. CUDA ๋งค๋‰ด์–ผ์„ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด, ์„ค์น˜ ํ›„ cuda/lib64์˜ ๊ฒฝ๋กœ๋ฅผ /etc/ld.so.conf ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
sudo echo "/usr/local/cuda-9.0/lib64/" >> /etc/ld.so.conf
๊ทธ ๋‹ค์Œ์—
sudo ldconfig
๋ฌผ๋ก  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒฝ๋กœ ๋งค๋‰ด์–ผ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
vim /etc/ld.so.conf
๊ทธ๋Ÿฐ ๋‹ค์Œ ๋์— '/usr/local/cuda-9.0' ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ ์—…๋ฐ์ดํŠธ
sudo ldconfig
์ž‘์—… ํ›„ ipython ๋˜๋Š” pycharm์„ ๋‹ค์‹œ ์—ฝ๋‹ˆ๋‹ค.
import tensorflow as tf
์™€์šฐ, ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ์ฆ๊ธธ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

'dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb' ๋“ฑ์˜ ๋ช…๋ น์œผ๋กœ CUDA๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ž๋™์œผ๋กœ /etc/ld.so.conf์— cuda lib ๊ฒฝ๋กœ๊ฐ€ ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•ˆ์ „์„ ์œ„ํ•ด /etc/ld.so.conf๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ฒฝ๋กœ๊ฐ€ ์ถ”๊ฐ€๋˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

๋Œ€์‹  @jabalazs conda install cudatoolkit==9.0 I ์‹œ๋„ pip install cudatoolkit==9.0 ํ•˜์ง€๋งŒ,์ด ์ผ์„ํ•˜์ง€ ์•Š์•˜๋‹ค, ๋‹น์‹ ์€ ์ด์œ ๋ฅผ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

colab์˜ ๋Ÿฐํƒ€์ž„์ด GPU๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋” ๋‚˜์€ ์†”๋ฃจ์…˜ - tensorflow ์ œ๊ฑฐ, pytorch ์„ค์น˜
์™œ tensorflow๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์‰ฝ๊ฒŒ ์ œ๋™๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์™œ ๊ทธ๋ƒฅ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?
pytorch์—์„œ๋Š” ์‰ฝ๊ณ  tf์—์„œ๋Š” ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? Wtf๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‚˜์š”?

์ข‹์€ ์†”๋ฃจ์…˜ @dodler ! ํ•˜์ง€๋งŒ xD๋ฅผ ํ†ตํ•ด ์ด ํ›Œ๋ฅญํ•œ ์กฐ์–ธ์„ ์‰ฝ๊ฒŒ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ช…๋ น์ด ๋ˆ„๋ฝ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

pip uninstall tensorflow
pip install torch

์ฆ๊ฑฐ์šด ์ฝ”๋”ฉ!

Google Colab์—์„œ GPU๋กœ NuSVR์˜ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด Thundersvm์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ด์™€ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
Cuda 9.0์„ ์„ค์น˜ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ƒฅ ๋”ฐ๋ผ ๊ฐ€๋ผ:

!wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64-deb

!ls # Check if required cuda 9.0 amd64-deb file is downloaded

!dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64-deb

!ls /var/cuda-repo-9-0-local | grep .pub

!apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub

!apt-get update

!sudo apt-get install cuda-9.0

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