{"id":2686,"date":"2019-04-16T22:59:46","date_gmt":"2019-04-16T13:59:46","guid":{"rendered":"https:\/\/now0930.tk\/wordpress\/?p=2686"},"modified":"2019-12-15T13:25:52","modified_gmt":"2019-12-15T04:25:52","slug":"dockertensorflow","status":"publish","type":"post","link":"https:\/\/now0930.pe.kr\/wordpress\/dockertensorflow\/","title":{"rendered":"docker+tensorflow"},"content":{"rendered":"\n<p>\ub098\ub294 \uad6c\ud615 x1055 cpu\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\ub2e4. 10\ub144 \ub118\uc5b4\uac00\uace0 \uc788\ub2e4. \ub2e4\ud589\ud788 6\ucf54\uc5b4\ub77c \ubcd1\ub82c\ucc98\ub9ac \uc9c0\uc6d0 \ud504\ub85c\uadf8\ub7a8\uc740 \ube60\ub974\ub2e4. \uc694\uc998\ub4e4\uc5b4 \ubcd1\ub82c\ucc98\ub9ac\uc9c0\uc6d0 \ud504\ub85c\uadf8\ub7a8\uc744 \ub9ce\uc774 \ub9cc\ub4dc\ub294 \ub4ef \ud558\ub2e4. \uc544\uc27d\uac8c\ub3c4 avx \ub4f1 \uba85\ub839\uc138\ud2b8\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294\ub2e4. \uad6c\uae00\uc774 \ucef4\ud30c\uc77c\ud55c whl\ubc84\uc804\uc744 \uc124\uce58\ud558\uba74 core dumped\ub85c \uc8fd\ub294\ub2e4. \uc774\ub97c \ud574\uacb0\ud558\ub824\uba74 \ub0b4\uac00 source build\ub97c \ud574\uc57c\ud55c\ub2e4. source build\ud558\ub824\uba74 \uc6b0\ubd84\ud22c 16.04\uc5d0 cuda, cudnn, bazel\uc744 \uc124\uce58\ud574\uc57c \ud55c\ub2e4. \uc5bc\ub9c8? \uc804 \ub098\uc628 ubuntu 18.04\ub97c \uc4f0\uace0 \uc2f6\uc740\ub370, \ucef4\ud30c\uc77c\ud560 \uc218 \uc5c6\uc5b4 \uc124\uce58\ud558\uae30 \uaebc\ub824\uc9c4\ub2e4. \uac8c\ub2e4\uac00 conda, \uac00\uc0c1\ud654 \ub4f1\uc774 \uc791\uc5c5\ud658\uacbd\uc744 \ub9dd\uce58\ub294 \uae30\ubd84\uc774\ub2e4.<\/p>\n\n\n\n<p>\uc774 \uc911 docker\ub97c \uc54c\uc558\ub2e4. host\uc5d0 \uc601\ud5a5\uc8fc\uc9c0 \uc54a\uace0, \uc548\uc804\ud558\uac8c tensorflow\ub97c \uc4f8 \uc218 \uc788\ub2e4. \uc2dc\ud5d8\uc73c\ub85c tensorflow 1.10 \uc774\ubbf8\uc9c0\uc5d0 \ub0b4\uac00 \ucef4\ud30c\uc77c\ud55c whl\uc744 \uc124\uce58\ud588\ub2e4. \uc798 \ub41c\ub2e4. \uc774\ubc88\uc5d0 \ubc00\uc5b4 \ubc84\ub838\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.tensorflow.org\/install\/source\">\uc5ec\uae30<\/a>\uc5d0 \ubcf4\uba74 \uc544\uc8fc \uc27d\uac8c build\ud560 \uc218 \uc788\ub2e4. \uadf8\ub7ec\ub098 \ucc98\uc74c \uc2dc\ub3c4\ud55c \uc774\ubbf8\uc9c0\ub85c nvidia driver\ub97c \uc62c\ub9b4 \uc218 \uc5c6\uc5c8\ub2e4. \ub2e4\uc74c\uc73c\ub85c ubuntu 16.04\uc5d0\uc11c bazel, cuda, cudnn\uc744 \ucc28\uadfc\ucc28\uadfc \uc124\uce58\ud588\ub2e4. \uc774 \uc774\ubbf8\uc9c0\uac00 build\ub97c \ubabb\ud55c\ub2e4. Workspace \uc5d0\ub7ec\uac00 \ub098\ub97c \ub9c9\uc558\ub2e4. <\/p>\n\n\n\n<p>\uc774\ubc88\uc5d0\ub294 bazel \uc124\uce58 \uc774\ubbf8\uc9c0\ub85c \ucc3e\uc544 bazel test \ud588\ub2e4. tensorflow cpu \ucef4\ud30c\uc77c\ub3c4 Workspace \uc5d0\ub7ec\uc5c6\uc5c8\ub2e4. \ucef4\ud30c\uc77c \ub418\ub294 \uc774\ubbf8\uc9c0 dockerfile\uc744 \ubd24\ub2e4. jdk8 \ubc84\uc804\uc5d0\uc11c bazel\uc744 \uc124\uce58\ud588\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">FROM openjdk:8\n# Bazel uses jdk8. Importing jdk8 image in advance, docker runs faster.\n# but there are some problem between openjdk8 and Bazel 0.5.3.\n\nMAINTAINER Tadashi KOJIMA &lt;nsplat@gmail.com>\n\n# To install Bazel, see https:\/\/docs.bazel.build\/versions\/master\/install-ubuntu.html#install-with-installer-ubuntu\nRUN apt-get update \\\n\t&amp;&amp; apt-get install -y pkg-config zip g++ zlib1g-dev unzip \\\n\t&amp;&amp; wget https:\/\/github.com\/bazelbuild\/bazel\/releases\/download\/0.16.1\/bazel-0.16.1-installer-linux-x86_64.sh \\\n\t&amp;&amp; chmod +x .\/bazel-0.16.1-installer-linux-x86_64.sh \\\n\t&amp;&amp; .\/bazel-0.16.1-installer-linux-x86_64.sh \\\n\n# run bazel test\n\t&amp;&amp; ls -l bin\/ \\\n\t&amp;&amp; export PATH=\"$PATH:\/root\/bin\" \\\n\t&amp;&amp; echo $PATH \\\n\t&amp;&amp; which bazel \\\n\t&amp;&amp; bazel \\\n\t&amp;&amp; echo \"export PATH=\\$PATH:\/root\/bin\" >> \/root\/.bash_profile \\\n\t&amp;&amp; echo \"exec \/bin\/bash\" >> \/root\/.bash_profile \\\n\t&amp;&amp; . \/root\/.bash_profile\n\n# Set up workspace\nWORKDIR \/home<\/pre>\n\n\n\n<p> \uba87 \uc904 \uc9c4\ud589(\ud55c\uc2dc\uac04\uc815\ub3c4?)\ud558\ub2e4 \ucef4\ud30c\uc77c \uc5d0\ub7ec\ub0ac\ub2e4. \uc774\ubc88\uc5d0\ub294ubuntu 16.04\uc5d0\uc11c \uc2dc\uc791\ud588\ub2e4. cuda, cudnn, git \ud544\uc694 \ubaa8\ub4c8\uc744 \uc124\uce58\ud588\ub2e4. \uc77c\ub2e8 \ucef4\ud30c\uc77c\uc740 \uc5d0\ub7ec\uc5c6\uc774 \uc131\uacf5\ud588\ub2e4. \uadf8\ub7ec\ub098 \uc774 \ube4c\ub4dc gpu \ubc84\uc804\uc740 gpu\ub97c \ub3d9\uc791\uc2dc\ud0a4\uc9c0 \uc54a\ub294\ub2e4. \ub098\uc911\uc5d0 \uc911\uc694\ud55c \uc0ac\uc2e4\uc744 \uc54c\uc558\ub2e4. \uad6c\uae00\uc774 source build \ubb38\uc11c \uc544\ub798\uc5d0 \uac80\uc99d\ub41c tensorflow, bazel, cuda \ubc84\uc804\uc744 \uae30\ub85d\ud588\ub2e4. \ub0b4\uac00 \uc124\uce58\ud55c bazel \ubc84\uc804\uc774 \ub108\ubb34 \ub192\uc558\ub2e4. \uc9c4\uc791 \uc54c\uc558\uc73c\uba74 \ud558\ub8e8 \ubc8c\uc5c8\ub294\ub370.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.tensorflow.org\/install\/source\">https:\/\/www.tensorflow.org\/install\/source<\/a><\/p>\n\n\n\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c 1.10-rc2-dev-gpu-py3 docker \uc774\ubbf8\uc9c0\ub97c \ubc1b\uc544 \ud574\ubd24\ub2e4. \ub108\ubb34\ub098 \uc27d\uac8c \uc131\uacf5\ud588\ub2e4. docker \uc774\ubbf8\uc9c0\uac00 \ud55c\uae00\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc544, \ud658\uacbd\ubcc0\uc218\ub97c \uc124\uc815\ud588\ub2e4.<\/p>\n\n\n\n<p>python\uc5d0\uc11c \ud55c\uae00 \ud130\ubbf8\ub110 \uc5d0\ub7ec<\/p>\n\n\n\n<p><a href=\"https:\/\/www.44bits.io\/ko\/post\/setup_linux_locale_on_ubuntu_and_debian_container\">https:\/\/www.44bits.io\/ko\/post\/setup_linux_locale_on_ubuntu_and_debian_container<\/a><\/p>\n\n\n\n<p>\uc774\uac70 \ud55c\ub2e4\uace0 \uc8fc\ub9d0\uc744 \ub2e4 \ub0a0\ub838\ub2e4. \ucef4\ud30c\uc77c\ud558\ub294\ub370 \uc57d 3\uc2dc\uac04 \uac78\ub838\ub2e4. \ud14c\uc2a4\ud2b8 \uc2dc\uac04\uc774 \ub9ce\uc544 \ud655\uc778\ud558\uae30 \uc5b4\ub824\uc6e0\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ub098\ub294 \uad6c\ud615 x1055 cpu\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\ub2e4. 10\ub144 \ub118\uc5b4\uac00\uace0 \uc788\ub2e4. \ub2e4\ud589\ud788 6\ucf54\uc5b4\ub77c \ubcd1\ub82c\ucc98\ub9ac \uc9c0\uc6d0 \ud504\ub85c\uadf8\ub7a8\uc740 \ube60\ub974\ub2e4. \uc694\uc998\ub4e4\uc5b4 \ubcd1\ub82c\ucc98\ub9ac\uc9c0\uc6d0 \ud504\ub85c\uadf8\ub7a8\uc744 \ub9ce\uc774 \ub9cc\ub4dc\ub294 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[33],"tags":[557,555,109,556],"class_list":["post-2686","post","type-post","status-publish","format-standard","hentry","category-tensorflow","tag-bazel","tag-docker","tag-tensorflow","tag-556"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/2686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/comments?post=2686"}],"version-history":[{"count":7,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/2686\/revisions"}],"predecessor-version":[{"id":3314,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/2686\/revisions\/3314"}],"wp:attachment":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=2686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=2686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=2686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}