๋ฐฉ๊ธ ํ ์ํ๋ก๋ฅผ ์คํํ์ต๋๋ค. ์ด์ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํ์ฌ Mac Yosemite๋ฅผ ์ฌ์ฉ ์ค์ด๋ฉฐ python 3.5๋ฅผ ์ฌ์ฉํ์ฌ anaconda๋ฅผ ํตํด pip3๋ฅผ ์ฌ์ฉํ์ฌ tensorflow๋ฅผ ๋ค์ด๋ก๋ํ์ต๋๋ค.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
๋ฐ๋ผ์ anaconda์๋ ํน๋ณํ ๋ช ๋ น ์ธํธ๊ฐ ์์ผ๋ฏ๋ก anaconda ๋ช ๋ น ์์คํ ์ ํตํด SSE4.1, SSE4.2 ๋ฐ AVX์์ tensorflow๋ฅผ ์คํํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น? ๋๋ ์ด๊ฒ์ ์ด๋ป๊ฒ ํด์ผ ํ ์ง ์ ๋ง ํผ๋์ค๋ฝ๋ค.
์ด๊ฒ์ ์ค๋ฅ๊ฐ ์๋๋ผ ์์ค์์ TensorFlow๋ฅผ ๋น๋ํ๋ฉด ์ปดํจํฐ์์ ๋ ๋น ๋ฅผ ์ ์๋ค๋ ๊ฒฝ๊ณ ์ ๋๋ค.
์ด์ ๋ํ SO ์ง๋ฌธ: http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions
์์ค์์ ๋น๋ํ๊ธฐ ์ํ TensorFlow ๊ฐ์ด๋: https://www.tensorflow.org/install/install_sources
@Carmezim์ด ๋งํ๋ฏ์ด ์ด๊ฒ์ ๋จ์ํ ๊ฒฝ๊ณ ๋ฉ์์ง์
๋๋ค.
๊ฐ ํ๋ก๊ทธ๋จ์ ๋ํด ํ ๋ฒ๋ง ํ์๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฒฝ๊ณ ์์ ๋งํ๋ฏ์ด TF๋ฅผ ๋ ๋น ๋ฅด๊ฒ ๋ง๋ค์ด์ผ ํ๋ ๊ฒฝ์ฐ์๋ง ์ด๋ฌํ ํ๋๊ทธ๋ก TF๋ฅผ ์ปดํ์ผํด์ผ ํฉ๋๋ค.
๊ฐ์ด๋์ ๋ฐ๋ผ ์์ค์์ TensorFlow๋ฅผ ์ค์นํ์ฌ SIMD ๋ช ๋ น์ด ์ธํธ๋ฅผ ์ง์ํ๋ TF๋ฅผ ์ปดํ์ผํ ์ ์์ต๋๋ค.
์์์ด ๊ณ ๋ง์. ๋๋ ๊ทธ๊ฒ์ ์ป๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ด๊ฒ์ ์นจ๋ฌต์ํฌ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์ด๋ฌํ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์จ๊ธฐ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ --config opt
์ต์
์ ์ฌ์ฉํ์ฌ ์์ค์์ ๋น๋ํ๋ ๊ฒ์
๋๋ค.
Unix/Linux/OSX์์ ๋ฉ์์ง๋ฅผ ๋ฆฌ๋๋ ์
ํ๋ ์ผ์ข
์ "ํด๊ฒฐ ๋ฐฉ๋ฒ"(๋ถ์์ ํ์ง๋ง):
ํ์ด์ฌ myscript.py 2>/dev/null
@CGTheLegend @ocampesato TF ํ๊ฒฝ ๋ณ์ TF_CPP_MIN_LOG_LEVEL
๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค.
INFO
๋ก๊ทธ๊ฐ 1๋ก ์ค์ WARNINGS
์ถ๊ฐ, 2ERROR
๋ก๊ทธ๋ฅผ ์ถ๊ฐ๋ก ํํฐ๋งํ๋ ค๋ฉด 3์ผ๋ก ์ค์ ํ์ญ์์ค.๋ฐ๋ผ์ ๋ค์์ ์ํํ์ฌ ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์์ผ๋ก ๋ง๋ค ์ ์์ต๋๋ค.
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import tensorflow as tf
@gunan @mrry ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์ํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ์ฌ๋๋ค์ ๋ง์ด
tensorflow ์ค์น ๊ฐ์ด๋์์ ์ค์นํ๋๋ฐ ์ด ๊ฒฝ๊ณ ๋ ๋ฐ์์ต๋๋ค.
pip3 install --upgrade tensorflow
@jadeydi ์์ค์์ ์ปดํ์ผํ๋ ๋์ "pip" ๋ฐ์ด๋๋ฆฌ๋ ์ค์นํ๋ฉด ์ด๋ฌํ ๊ฒฝ๊ณ ๊ฐ ๊ณ์ ํ์๋ฉ๋๋ค.
๋ฐฉ๊ธ SSE4.1 SSE4.2 AVX AVX2 ๋ฐ FMA๋ฅผ ์ง์ํ๋ tensorflow๋ฅผ ์ปดํ์ผํ์ต๋๋ค. ๋น๋๋ https://github.com/lakshayg/tensorflow-build์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ์ ์ฉํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์๋ ํ์ธ์ @lakshayg , ๊ณต์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. https://github.com/yaroslavvb/tensorflow-community-wheels ๋ฅผ ํ์ธํ๊ณ ์ถ์ ์๋ ์์ต๋๋ค.
Ubuntu์ ํ์ค pip install tensorflow-gpu
์ ๋นํด ๋น๋๊ฐ ๋๋ต ํจ์ฌ ๋น ๋ฆ
๋๊น? CPU ๊ณ์ฐ์ ๊ฒฝ์ฐ์๋ง ๋ ๋น ๋ฆ
๋๊น, ์๋๋ฉด GPU ๊ณ์ฐ์ ์ด์ ์ด ์์ต๋๊น?
http://www.anandtech.com/show/2362/5
์ด๊ฒ์ ๊ตฌ๊ธ์ ์ฌ๋ผ์๊ณ ๋ช ๊ฐ์ง ๊ด์ฐฎ์ ๊ธฐ์ ์ ์ธ ์ธ๋ถ ์ฌํญ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
ํ ์คํธ๋ VirtualDub 1.7.6 ๋ฐ DivX 6.7์ ์ฌ์ฉํ๋ DivX ์ธ์ฝ๋ฉ์ ๋๋ค. SSE4๋
MPSADBW
๋ฐPHMINPOSUW
๋ SSE4 ๋ช ๋ น์ด์ ์ํด ๊ฐ์ํ๋๋ ๋ชจ์ ์ถ์ ์ ์ํ ์๋ก์ด ์ ์ฒด ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฑํํ๋๋ก ์ ํํ ๊ฒฝ์ฐ ์ ๊ณต๋ฉ๋๋ค. ์์ด๋์ด๋ ๋ชจ์ ์ถ์ (๋น๋์ค์ ํ์ ํ๋ ์์์ ์ด๋ค ์ผ์ด ์ผ์ด๋ ๊ฒ์ธ์ง ํ์ )์๋ ์ ๋ ์ฐจ์ด์ ํฉ์ ๋ํ ๋ง์ ๊ณ์ฐ๊ณผ ์ด๋ฌํ ๊ณ์ฐ ๊ฒฐ๊ณผ์ ์ต์๊ฐ์ ์ฐพ๋ ๊ฒ์ด ํ์ํ๋ค๋ ๊ฒ์ ๋๋ค. SSE2 ๋ช ๋ น์ดPSADBW
๋ 16B ๋ถํธ ์๋ ์ ์ ์์์ ์ฐจ์ด์ ๋ ํฉ์ ๊ณ์ฐํ ์ ์์ต๋๋ค. SSE4 ๋ช ๋ น์ดMPSADBW
๋ 8๊ฐ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
...
QX9650์์ SSE4๊ฐ ํ์ฑํ๋ ์ ์ฒด ๊ฒ์์ SSE2๋ง ์ฌ์ฉํ ๋๋ณด๋ค ์ฝ 45% ๋ ๋น ๋ฅด๊ฒ ์คํ๋ฉ๋๋ค.
์ด์ tensorflow๊ฐ ์ด๋ค ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ์ง๋ง ๋ ธ๋ ฅํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์ฃ์กํ์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ TF ์คํฌ๋ฆฝํธ์์ ์ถ๋ ฅ์ ๊ฐ๋ ๊ฒ์ ํฐ๋ฌด๋์๋ ์ผ์ ๋๋ค. ๋๋ถ๋ถ์ ์ฌ๋๋ค์ ์์ค์์ TF๋ฅผ ์ปดํ์ผํ์ง๋ ์ํ์ง๋ ์์ ๊ฒ์ ๋๋ค.
@Tomashley303 , ์ด๊ฒ์ ์ป์ ์ ์๋ ์์ฃผ ๋ฉ์ง ์ ๋ณด์ ๋๋ค! ์์ค์์ ๋ค์ ์ปดํ์ผํ ๊ณํ์ด ์์ต๋๋ค. ๋๋ ์ํ์ง ์๋๋ค. ๊ทธ๋ฌ๋ ์ ๋ณด๋ ๋ด ๋ชจ๋ธ์ด ์ปค์ง๊ณ ๋๋ ค์ง๊ณ ์ฑ๋ฅ ํฅ์์ด ํ์ํ ๊ฒฝ์ฐ ์ํํ ์์ ์ ์๋ ค์ค๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋์จ์ด๋ฅผ ๊ตฌ์ ํ๋ ๊ฒ๋ณด๋ค ํ์ฅ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ฌ์ปดํ์ผํ๋ ๊ฒ์ด ๋ ์ ๋ ดํฉ๋๋ค. ์ข์ ์ค๋ช (์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์์)์ด ์ฌ์ปดํ์ผ์ ์ธ๊ฑด๋น๋ฅผ ์ต์ํํ๋ค๋ ์ ์ ๊ฐ์ํ๋ฉด(CPU ์๊ฐ์ ์ค์ํ์ง ์์ผ๋ฉฐ ๋ฐค์ ์คํํ ์ ์์).
๋๋ ๊ทธ ๊ณผ์ ์ ๊ฑฐ์ณค๊ณ ... ๊ฐ๋จํ๊ณ ์ ํ ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง ์์๋ค. ์ผ๋ฐ์ ์ธ cmake C++๋ ์ ๋ชฝ์ด ์๋๋๋ค.
MacOS/Linux์์ TF๋ฅผ ์ปดํ์ผํ๋ ์์ bash ์คํฌ๋ฆฝํธ๊ฐ ์์ต๋๋ค. CPU ๊ธฐ๋ฅ์ ๋์ ์ผ๋ก ๊ณ์ฐํ๊ณ ๋น๋ ๋งค๊ฐ๋ณ์๋ก ๋ฃ์ต๋๋ค. PR์ ๋ง๋ค๋ ค๊ณ ์๊ฐํ์ง๋ง ๋ก์ปฌ ๋น๋์ฉ ์คํฌ๋ฆฝํธ(๋์ฐ๋ฏธ)๊ฐ ์๋ ํด๋๋ฅผ ์ฐพ์ง ๋ชปํ๊ณ ci_build๋ง ์ฐพ์์ต๋๋ค. ๊ทธ๊ฒ์ด ์๋ฏธ๊ฐ ์๋ค๋ฉด ๋๋ ๊ทธ๊ฒ์ ํ ๊ฒ์ ๋๋ค
์์
https://gist.github.com/venik/9ba962c8b301b0e21f99884cbd35082f
@gunan์๊ฒ ๋ณด๋ด๋ ๋ฉ๋ชจ
TensorFlow๋ฅผ ์ฒ์ ์ค์นํ ๋ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ด์ ์ ์ปดํจํฐ์ TensorFlow๋ฅผ ์ค์นํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๋ฅผ ๋ค์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์์๋ด์ผ ํฉ๋๋ค. ๋ชฉ์ด ์ํ๊ณ ๋น์ ์ด ์ ๊ณตํ ๋ฌธ์๊ฐ ์ ํ ๋ช ํํ์ง ์์ต๋๋ค.
๋ด ๋ง์๋๋ก ํด์ผ ํ๋ค๋ ์ฌ์ค์ด ์๊ธฐ๊ณ ํ๊ฐ ๋๋ค. ํ๋ฃจ ์ข ์ผ ๊ฒฝ๊ณ ๋ง ๋์ง๋ฉด pip/pip3์์ ๋ฌด์ธ๊ฐ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค.
์ต์ํ https://www.tensorflow.org/install/install_sources ๋ฅผ ํธ์งํ๊ณ SSE/AVX๋ก ์ปดํ์ผํ๋ ๋ฐฉ๋ฒ์ ๋ช ์์ ์ผ๋ก ์ค๋ช ํด์ผ ํฉ๋๋ค.
๋๋ฅผ ์ํด ์ผํ ์๋ฃจ์ : ๊ตฌ์ฑ ํ๋ก์ธ์ค ์ค์ ํ๋กฌํํธ๊ฐ ํ์๋๋ฉด "-mavx -msse4.1 -msse4.2"๋ฅผ ์ ๋ ฅํ์ญ์์ค(./configure๋ฅผ ์คํํ ๋).
์ด๊ฒ์ ์ค์น ์ง์นจ์ ์ถ๊ฐํ๋ ๊ฒ์ด ๊ทธ๋ ๊ฒ ์ด๋ ค์ด๊ฐ์?
@Carmezim ๋ต๋ณ์ ๋ฐ๋ฅด๋ฉด avx ๋ฐ sse๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ CPU ์๋ ํฅ์ ๋ฒ์ ์ ์ป์์ต๋๋ค. Intel์์ fast-rcnn(resnet-101)์ ํ ์คํธํ์ต๋๋ค. ๋น์ฉ ์๊ฐ์ด ์ฝ 30% ๋นจ๋ผ์ ธ ์ ๋ง ์ ์ฉํฉ๋๋ค.
๊ฒฝ๊ณ ๋ฅผ ๋ฌด์์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค.
์ด ์ฝ๋๋ฅผ ์๋จ์ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
์์
OS
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
ํ
์ํ๋ก๋ฅผ tf๋ก ๊ฐ์ ธ์ค๊ธฐ
์ฌ๊ธฐ์ ์ธ๊ธ๋ ๋๋ก: https://stackoverflow.com/a/44984610
์์คํ
ํ๊ฒฝ ๋ณ์์ ์ฌ์ฉ์ ๋ณ์๋ฅผ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์์ต๋๋ค.
TF_CPP_MIN_LOG_LEVEL, ๊ฐ = 2. ๊ทธ๋ฐ ๋ค์ IDE๋ฅผ ๋ค์ ์์ํฉ๋๋ค.
@mikalyoung GPU ๊ณ์ฐ์ ๋ํ ๊ฐ์ ์ ๊ธฐ๋ํ ์ ์์ต๋๋ค. ํด๋น ๋ช
๋ น์ด ์ธํธ๋ CPU ์ ์ฉ์ด๊ณ ๋ฒกํฐํ๋ ์์
์ ํ์ฉํ๊ธฐ ๋๋ฌธ์
๋๋ค.
๋ฐ๋ผ์ GPU์์ (์ด์์ ์ผ๋ก๋) 100% ์คํ๋๋ ๋ ๊ฐ์ ์ฝ๋๋ฅผ ๋น๊ตํ๋ฉด ํ๋๋ SIMD ์ง์์ผ๋ก ์ปดํ์ผ๋ Tensorflow ์ธ์คํด์ค์์ ์คํ๋๊ณ ๋ค๋ฅธ ํ๋๋ SIMD ์ง์ ์์ด ์ปดํ์ผ๋๋ฉด ์๋ ๋ฉด์์ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
IC:\tf_jenkinshome\workspace\rel-win\M\windows\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] ๊ทํ์ CPU๋ ์ด TensorFlow ๋ฐ์ด๋๋ฆฌ๊ฐ ์ฌ์ฉํ๋๋ก ์ปดํ์ผ๋์ง ์์ ๋ช ๋ น์ ์ง์ํฉ๋๋ค: AVX AVX2
๋ณด์๋ค์ํผ ๊ฒฝ๊ณ ๋ ๋ด ์์คํ ์๋ ์์ง๋ง ๊ฒฝ๊ณ ์ ์์ ๋ถ๋ถ์์ '๋'๋ฅผ ์ดํดํ ์ ์์ผ๋ฏ๋ก ๋๊ตฐ๊ฐ๊ฐ ๊ทธ ๊ฒฝ์ฐ ๋๋ฅผ ๋์ธ ์ ์์ต๋๋ค.
"I"๋ "INFO"์ ์ค์๋ง์ผ ๋ฟ์ ๋๋ค. ๋ณผ ์ ์๋ ๋ค๋ฅธ ๋ฌธ์๋ E(์ค๋ฅ) ๋๋ F(์น๋ช ์ )์ ๋๋ค.
๊ทธ๋์ conda๋ฅผ ์ฌ์ฉํ์ฌ ์ค์นํ์ต๋๋ค. ์๋ ํฅ์์ ์ด์ฉํ๊ธฐ ์ํด ๋์ ์์ค์์ ์ปดํ์ผํ๋ ค๋ฉด tensorflow์ conda ์ค์น๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ๋ฌด์์ด๋ ํด์ผ ํฉ๋๊น? ์๋๋ฉด ์์ฒด ์์ ์ปจํ ์ด๋์ ์๊ณ ์์ค์์ ๋ณ๋๋ก ์ปดํ์ผํ ์ ์์ต๋๊น?
DeepSpeech์ DeepSpeech ์๋ฒ๋ ์ค์นํ์ต๋๋ค. ์๋ฒ๋ฅผ ์์ํ๊ณ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค - "2018-01-17 08:21:49.120154: F tensorflow/core/platform/cpu_feature_guard.cc:35] TensorFlow ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ AVX2 ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋๋ก ์ปดํ์ผ๋์์ง๋ง ์ด๊ฒ๋ค์ ์๋๋๋ค. ์ปดํจํฐ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ค๋จ๋จ(์ฝ์ด ๋คํ๋จ)"
๋ถ๋ช ํ ๊ฐ์ ์ปดํจํฐ์์ TensorFlow๋ฅผ ์ปดํ์ผํด์ผ ํฉ๋๋ค. Kubuntu 17.10.1 ๋ฐ HP Probook 4330S์ ์ผ์นํ๋ ๋ชฉ๋ก์ด ์์ต๋๊น?
Windows ์ปดํ์ผ์ด ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๋์ผํ ๋ฌธ์ ๊ฐ ์์ง๋ง GPU๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์ํ๋ ๋์ Nvidia๊ฐ ์๋ ๋ฐ ๊ทธ๋ํฝ ์นด๋๋ ์์ต๋๋ค. ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
*๋๋ Nvidia ๊ทธ๋ํฝ ์นด๋๊ฐ ์๊ณ , ํ๋๋ ์๋๋ฐ ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
*AMD ๊ทธ๋ํฝ ์นด๋.. ์๋ ๊ณ ์นจ
์ด๊ฒ์ ๋ด ํ ์คํธ ์์์์ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๊ธฐ ๋๋ฌธ์ ๋จ์ํ ๊ฒฝ๊ณ ๊ฐ ์๋๋๋ค. ๋ํ AMD GPU๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ Digital Ocean ํ ์ํ๋ก ์์๋ฅผ ๋๋ ค์ ์ฌ์ฉํด ๋ณด์์ง๋ง GPU ์ง์๋ ์๋ ๊ฒ ๊ฐ๊ณ ๋น์ฐธํ๊ฒ ์คํจํ๊ณ ์์ต๋๋ค.
`# ์์ ID 0
hparams๋ฅผ /home/science/tf-demo/models/nmt-chatbot/model/hparams์ ์ ์ฅ
hparams๋ฅผ /home/science/tf-demo/models/nmt-chatbot/model/best_bleu/hparams์ ์ ์ฅ
์ฃผ์ = scaled_luong
Attention_architecture=ํ์ค
๋ฐฐ์น ํฌ๊ธฐ=128
beam_width=10
best_bleu=0
best_bleu_dir=/home/science/tf-demo/models/nmt-chatbot/model/best_bleu
check_special_token=์ฌ์ค
colocate_gradients_with_ops=์ฐธ
๋ถ๊ดด ๊ณ์=1.0
๋ถ๊ดด_๋จ๊ณ=10000
dev_prefix=/home/science/tf-demo/models/nmt-chatbot/data/tst2012
ํ๋ฝ=0.2
์ธ์ฝ๋_์ ํ=๋น
์์ค์ค=
epoch_step=0
forget_bias=1.0
infer_batch_size=32
init_op=์ ๋ณต
init_weight=0.1
learning_rate=0.001
learning_rate_decay_scheme=
length_penalty_weight=1.0
log_device_placement=๊ฑฐ์ง
max_gradient_norm=5.0
max_train=0
์ธก์ ํญ๋ชฉ=['๋ธ๋ฃจ']
num_buckets=5
num_embeddings_partitions=0
num_gpus=1
num_layers=2
num_residual_layers=0
num_train_steps=500000
num_translations_per_input=10
num_units=512
์ตํฐ๋ง์ด์ =์๋ด
out_dir=/home/science/tf-demo/models/nmt-chatbot/model
output_attention=์ฐธ
override_loaded_hparams=์ฐธ
pass_hidden_state=์ฐธ
random_seed=์์
์์ฐจ=๊ฑฐ์ง
share_vocab=๊ฑฐ์ง
์กฐ์กฐ=
source_reverse=๊ฑฐ์ง
src=์์
src_max_len=50
src_max_len_infer=์์
src_vocab_file=/home/science/tf-demo/models/nmt-chatbot/data/vocab.from
src_vocab_size=15003
start_decay_step=0
steps_per_external_eval=์์
steps_per_stats=100
ํ์ ๋จ์ด_์ต์
=
test_prefix=/home/science/tf-demo/models/nmt-chatbot/data/tst2013
tgt=์
tgt_max_len=50
tgt_max_len_infer=์์
tgt_vocab_file=/home/science/tf-demo/models/nmt-chatbot/data/vocab.to
tgt_vocab_size=15003
time_major=์ฐธ
train_prefix=/home/science/tf-demo/models/nmt-chatbot/data/train
unit_type=lstm
vocab_prefix=/home/science/tf-demo/models/nmt-chatbot/data/vocab
warmup_scheme=t2t
์ค๋น ๋จ๊ณ=0
num_bi_layers = 1, num_bi_residual_layers=0
์
0 LSTM, forget_bias=1 DropoutWrapper, dropout=0.2 DeviceWrapper, device=/ gpu:0
์
0 LSTM, forget_bias=1 DropoutWrapper, dropout=0.2 DeviceWrapper, device=/ gpu:0
์
0 LSTM, forget_bias=1 DropoutWrapper, dropout=0.2 DeviceWrapper, device=/ gpu:0
์
1 LSTM, forget_bias=1 DropoutWrapper, dropout=0.2 DeviceWrapper, device=/ gpu:0
learning_rate=0.001, warmup_steps=0, warmup_scheme=t2t
decay_scheme=,start_decay_step=0,decay_steps10000,decay_factor 1
Embeddings/encoder/embedding_ encoder:0 , (15003, 512),
์๋ฒ ๋ฉ/๋์ฝ๋/embedding_ ๋์ฝ๋:0 , (15003, 512),
dynamic_seq2seq/encoder/bidirectional_rnn/fw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirectional_rnn/fw/basic_lstm_cell/ bias:0 , (2048,), / ์ฅ์น:GPU :0
dynamic_seq2seq/encoder/bidirectional_rnn/bw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirectional_rnn/bw/basic_lstm_cell/ bias:0 , (2048,), / ์ฅ์น:GPU :0
dynamic_seq2seq/๋์ฝ๋/memory_layer/ ์ปค๋:0 , (1024, 512),
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ kernel:0 , (1536, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/luong_attention/attention_g:0, (), / device:GPU :0
dynamic_seq2seq/decoder/attention/attention_layer/ kernel:0 , (1536, 512), / device:GPU :0
dynamic_seq2seq/decoder/output_projection/ kernel:0 , (512, 15003), / device:GPU :0
num_bi_layers = 1, num_bi_residual_layers=0
์
0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
์
0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
์
0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
์
1 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
Embeddings/encoder/embedding_ encoder:0 , (15003, 512),
์๋ฒ ๋ฉ/๋์ฝ๋/embedding_ ๋์ฝ๋:0 , (15003, 512),
dynamic_seq2seq/encoder/bidirectional_rnn/fw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirectional_rnn/fw/basic_lstm_cell/ bias:0 , (2048,), / ์ฅ์น:GPU :0
dynamic_seq2seq/encoder/bidirectional_rnn/bw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirectional_rnn/bw/basic_lstm_cell/ bias:0 , (2048,), / ์ฅ์น:GPU :0
dynamic_seq2seq/๋์ฝ๋/memory_layer/ ์ปค๋:0 , (1024, 512),
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ kernel:0 , (1536, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/luong_attention/attention_g:0, (), / device:GPU :0
dynamic_seq2seq/decoder/attention/attention_layer/ kernel:0 , (1536, 512), / device:GPU :0
dynamic_seq2seq/decoder/output_projection/ kernel:0 , (512, 15003), / device:GPU :0
num_bi_layers = 1, num_bi_residual_layers=0
์
0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
์
0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
์
0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
์
1 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
Embeddings/encoder/embedding_ encoder:0 , (15003, 512),
์๋ฒ ๋ฉ/๋์ฝ๋/embedding_ ๋์ฝ๋:0 , (15003, 512),
dynamic_seq2seq/encoder/bidirectional_rnn/fw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirectional_rnn/fw/basic_lstm_cell/ bias:0 , (2048,), / ์ฅ์น:GPU :0
dynamic_seq2seq/encoder/bidirectional_rnn/bw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirectional_rnn/bw/basic_lstm_cell/ bias:0 , (2048,), / ์ฅ์น:GPU :0
dynamic_seq2seq/๋์ฝ๋/memory_layer/ ์ปค๋:0 , (1024, 512),
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ kernel:0 , (1536, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/luong_attention/attention_g:0, (), / device:GPU :0
dynamic_seq2seq/decoder/attention/attention_layer/ kernel:0 , (1536, 512), / device:GPU :0
dynamic_seq2seq/decoder/output_projection/ kernel:0 , (512, 15003),
2018-02-26 18:19:44.862736: I tensorflow/core/platform/cpu_feature_guard.cc:137] ๊ทํ์ CPU๋ ์ด TensorFlow ๋ฐ์ด๋๋ฆฌ๊ฐ ์ฌ์ฉํ๋๋ก ์ปดํ์ผ๋์ง ์์ ๋ช
๋ น์ ์ง์ํฉ๋๋ค: SSE4.1 SSE4.2 AVX AVX2 FMA
์ฃฝ์`
์คํํด์ผ ํ๋ ๋ช ๋ น๊ณผ ์ด๋ฌํ ๋ช ๋ น์ ์คํํ ์์น ๋ฐ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์ญ์์ค. ๋์์ด ์ ์คํ ํ์ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์์คํ ์ด ํ๋ก์ธ์ค์ GPU๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ ์๋ฏธ์ ๋๊น?
KerasClassifier์์ k-fold๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฐ์ ํ๊ฒฝ์์ tensorflow๋ฅผ ๊ตฌ์ถํ๋ ๊ฒฝ์ฐ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๋ชจ๋๊ฐ ๊ถ์ฅํ๋ ๋๋ก ์์ค์์ tensorflow๋ฅผ ๋น๋ํด์ผ ํฉ๋๋ค.
์์ค์์ tensorflow๋ฅผ ๋น๋ํ๋ ค๋ฉด ๋ค์ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค.
ํ๋ฉด์ ์ง์์ ๋ฐ๋ผ tensorflow ์ค์น๋ฅผ ์๋ฃํ์ญ์์ค.
tensorflow๊ฐ ์ค์น๋๋ฉด ์ปดํจํฐ๋ฅผ ์
๋ฐ์ดํธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
sudo apt-get ์
๋ฐ์ดํธ
ํ์ด์ ๋น๋๋ค ๊ทธ๋ฆฌ๊ณ ์ฆ...
์ด ์ค๋ ๋์์ ์ด๋ฌํ ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์ํด์๋ ์ ๋๋ค๋ ์ ์ ๊ฐ์กฐํฉ๋๋ค. ์์ค์์ ๋น๋ํจ์ผ๋ก์จ ๊ต์ก ์๊ฐ์ด ์ฝ 43% ๋นจ๋ผ์ก์ต๋๋ค. ๋ ธ๋ ฅํ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด ํ์ผ์ ์ฌ์ฉํ์ฌ tensorflow๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ" tensorflow-1.6.0-cp36-cp36m-win_amd64.whl"
@anozele pip3 install --upgrade *path to wheel file*
@gunan --config=opt๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์์ค์์ TensorFlow๋ฅผ ๋น๋ํ ๋ --copt="-msse4.2"๋ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์ธํ ์ ๋ฐ๋ฅด๋ฉด https://software.intel.com/en-us/articles/intel-optimization-for-tensorflow-installation-guide , ์ธํ ๋น๋ Tensorflow๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ช ๋ น ์ธํธ๊ฐ ๋ฐฑ์๋ MKL์์ ์ฌ์ฉ๋ฉ๋๋ค. Tensorflow์ ๋๊ตฐ๊ฐ๊ฐ ์ด๊ฒ์ ํ์ธํ ์ ์์ต๋๊น?
์ด๊ฒ์ ์ค๋ฅ๊ฐ ์๋๋ผ ์์ค์์ TensorFlow๋ฅผ ๋น๋ํ๋ฉด ์ปดํจํฐ์์ ๋ ๋น ๋ฅผ ์ ์๋ค๋ ๊ฒฝ๊ณ ์ ๋๋ค.
์ด์ ๋ํ SO ์ง๋ฌธ: http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions
์์ค์์ ๋น๋ํ๊ธฐ ์ํ TensorFlow ๊ฐ์ด๋: https://www.tensorflow.org/install/install_sources
๊ทธ๋ฌ๋ -FMA -AVX -SSE https://stackoverflow.com/questions/57197854/fma-avx-sse-flags-did-not-bring-me-good-performance๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ๋ณด๋ค ๋น ๋ฅด์ง ์์ต๋๋ค.
์๋ ํ์ธ์. ์ฃฝ์ ๋ง์ ๋๋ฆฌ๋ฉด ์ฃ์กํฉ๋๋ค. ๊ธฐ๋ณธ ํ ํ ์ด ๊ณ ๊ธ ์ง์นจ์ผ๋ก ์ปดํ์ผ๋ ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ ์ด์ ๊ฐ ๊ถ๊ธํ์ญ๋๊น?
์๋ ํ์ธ์. ์ฃฝ์ ๋ง์ ๋๋ฆฌ๋ฉด ์ฃ์กํฉ๋๋ค. ๊ธฐ๋ณธ ํ ํ ์ด ๊ณ ๊ธ ์ง์นจ์ผ๋ก ์ปดํ์ผ๋ ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ ์ด์ ๊ฐ ๊ถ๊ธํ์ญ๋๊น?
์ด๋ ๊ตฌํ CPU ์ํคํ ์ฒ๊ฐ ๊ณ ๊ธ ๋ช ๋ น์ด ์ธํธ๋ฅผ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. AVX, AVX2 ๋๋ AVX512๋ฅผ ์ง์ํ๋ CPU์ ์์ธํ ๋ชฉ๋ก์ wiki ๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ๊ธฐ๋ณธ pip ๋ฐ์ด๋๋ฆฌ๊ฐ ์ด๋ฌํ ๋ช ๋ น์ด ์ธํธ๋ก ์ปดํ์ผ๋๋ฉด tensorflow๋ ์ด์ CPU์์ ์๋ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์์คํ ์ด ํ๋ก์ธ์ค์ GPU๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ ์๋ฏธ์ ๋๊น?
์๋์, GPU๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ํ์๋ฉ๋๋ค. ๋ฉ์์ง๋ฅผ ์ฐจ๋จํ์ง ์์ ๊ฒฝ์ฐ ๋ช ๋ น ํ๋กฌํํธ์์ GPU ์ฅ์น๋ฅผ ๋ก๋ํ๋ Tensorflor๋ ํ์๋์ด์ผ ํฉ๋๋ค.
์ด ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ํ์ธํ๋ ๊ฒฝ์ฐ:
์๋ ์ฝ๋๋ฅผ ํ์ธํ์ธ์.
https://github.com/fo40225/tensorflow-windows-wheel
๊ทธ๋ SSE ๋ฐ AVX๋ก ๊ฑฐ์ ๋ชจ๋ ๋ฒ์ ์ TF๋ฅผ ์ปดํ์ผํ์ต๋๋ค.
๊ทธ๋ ๊ฑฐ์ ๋ชจ๋ TF ๋ฒ์ ์ ํธ์งํ์ต๋๋ค!
์ด ๊ธฐ์ฌ๋ ํ๋๊ทธ๋ฅผ ํฌํจํ์ฌ ์์ค์์ ๋น๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ข์ ์์ต์์์ต๋๋ค.
https://medium.com/@pierreontech/setup -a-high-performance-conda-tensorflow-environment-976995158cb1
--copt=-mavx --copt=-msse4.1 --copt=-msse4.2
์ ๊ฐ์ ์ถ๊ฐ bazel ์ต์ ์ ์ฌ์ฉํ์ฌ ์ ์ ํ ํ์ฅ์ ๊ฐ์ ๋ก ํฌํจ์ํค์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ์ ์ค๋ฅ๊ฐ ์๋๋ผ ์์ค์์ TensorFlow๋ฅผ ๋น๋ํ๋ฉด ์ปดํจํฐ์์ ๋ ๋น ๋ฅผ ์ ์๋ค๋ ๊ฒฝ๊ณ ์ ๋๋ค.
์ด์ ๋ํ SO ์ง๋ฌธ: http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions
์์ค์์ ๋น๋ํ๊ธฐ ์ํ TensorFlow ๊ฐ์ด๋: https://www.tensorflow.org/install/install_sources