<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>prlab 블로그</title>
    <link>https://smprlab.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sat, 1 Aug 2026 14:30:17 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>거나</managingEditor>
    <item>
      <title>docker 컨테이너에서 웹캠영상을 디스플레이하는법</title>
      <link>https://smprlab.tistory.com/32</link>
      <description>&lt;p&gt;docker 컨테이너가 GUI까지 포함할 경우 오버헤드가 많아 비효율적임.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;하지만, 딥러닝 또는 영상처리 코드를 작성할 때 이미지를 확인해야할 경우 리눅스의 x 윈도우가 필요함&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이때, 도커는 로컬환경의 xhost와 컨테이너를 연결하여 로컬 환경의 GUI를 가져다 쓸 수 있음(로컬환경의 웹캠이나 기타 장치도 마찬가지)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이때 사용되는 &lt;b&gt;&quot;$ docker run&quot;&lt;/b&gt; 명령은 아래와 같음&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;$ docker run -p 8888:8888 --gpus all --privileged --rm -it -v /dev/video0:/dev/video0 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -v /dev/snd:/dev/snd -e=&quot;QT_X11_NO_MITSHM=1&quot; -v ~/docker:/data [이미지이름] bash&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;명령어 옵션이 굉장히 많은데 각 옵션은 아래와 같은 역할을 수행&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;-p 8888:8888&lt;/b&gt;&amp;nbsp; &amp;nbsp;---&amp;gt; 이 옵션은 로컬 포트와 컨테이너 포트를 맵핑하는 코드&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;--gpus all&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt; &amp;nbsp;---&amp;gt; 이 옵션은 gpu 드라이버를 가져와 사용하는 코드. 또한, 직접해보진 않았지만 &quot;$ docker run --gpus all&quot; 과 &quot;$nvidia-docker run&quot;은 동일한 작업을하는 것으로 생각됨&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;--privileged&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt; &amp;nbsp;---&amp;gt; 이 옵션은 권한에 대한 옵션인데 자세한것은 아직 모름&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;--rm &lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt; &amp;nbsp;---&amp;gt; 이 옵션은 컨테이너를 종료할때, 컨테이너를 유휴상태로 전환하는게 아니라 아예 지워버리는 옵션으로 $ docker commit(현재 컨테이너 상태를 저장하는 명령) 여부를 항상 생각해야함.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;-it &lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt; &amp;nbsp;---&amp;gt; 도커환경에서 인터랙티브한 환경을 제공한다고 하는데 자세한건 모름&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;-v /dev/video0:/dev/video0&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt; &amp;nbsp;---&amp;gt; 로컬환경의 웹캠(이미징장치) 0번을 도커 환경의 이미징장치 0번으로 맵핑&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;-v&amp;nbsp;/tmp/.X11-unix:/tmp/.X11-unix&lt;/b&gt; &lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp;---&amp;gt; 로컬과 컨테이너의 X윈도우를 서로 연결&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;-e&amp;nbsp;DISPLAY=unix$DISPLAY&lt;/b&gt; &lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;---&amp;gt; 디스플레이에 필요한 정보를 공유하는것으로 생각됨???&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;-v&amp;nbsp;/dev/snd:/dev/snd&lt;/b&gt; &lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &lt;span style=&quot;color: #333333;&quot;&gt;---&amp;gt; 아직모르지만, 컨테이너에서 x 윈도우 디스플레이시 필요함&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;-e=&quot;QT_X11_NO_MITSHM=1&quot;&lt;/b&gt;&amp;nbsp; &lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp;---&amp;gt; 아직모르지만, 컨테이너에서 x 윈도우 디스플레이시 필요함&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;-v&amp;nbsp;~/docker:/data&lt;/b&gt; &lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; ---&amp;gt; 모든 -v 옵션은 마운트된 하드 주소의 데이터를 공유하기 위한 옵션으로 로컬 ~/docker와 컨테이너 /data를 같은 주소와 같은 데이터를 가지는 하드디스크 메모리가 동시에 마운트됨&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;결과적으로 웹캠에서 영상을 받아 디스플레이할 수 있는 컨테이너를 실행하기 위해선 아래와 같은 명령어가 필요!&amp;nbsp; 포트번호나 몇몇 옵션은 상황에 맞게 변경해야함!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;opencv 라이브러리로 테스트할 때 몇몇 에러가 있었음!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;아마 컨테이너 필요한 라이브러리가 없어서 발생하는 문제로 생각됨 아래 코드로 opencv 재설치 또는 설치하면 해결되는 것을 확인&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;$ apt-get update&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;$&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;apt-get -y install libgtk2.0-dev&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;$&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;apt-get -y install pkg-config&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;$&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;conda remove opencv&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;$&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;conda update conda&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;$&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;conda install --channel menpo opencv&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;$&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;pip install opencv-contrib-python&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;$ apt&amp;nbsp;install&amp;nbsp;libgl1-mesa-glx&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;필요라이브러리 설치가 끝나고 웹캠 영상을 띄웠을때 No protocol specified 에러가 발생할 수 있음. 아래는 웹캠 이미지 띄우는 test용 코드.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;325&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/J4ve4/btqG6CdWJSB/hcFKhzC3mXRRUV5uxOkGh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/J4ve4/btqG6CdWJSB/hcFKhzC3mXRRUV5uxOkGh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/J4ve4/btqG6CdWJSB/hcFKhzC3mXRRUV5uxOkGh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ4ve4%2FbtqG6CdWJSB%2FhcFKhzC3mXRRUV5uxOkGh1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;325&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;만약 &lt;span style=&quot;color: #333333;&quot;&gt;No protocol specified 에러가 발생한다면, docker commit으로 현재 컨테이너를 이미지로 저장한 후, 로컬 터미널에서 &lt;b&gt;$ &lt;/b&gt;&lt;span&gt;&lt;b&gt;xhost local:root&lt;/b&gt; 명령어를 입력하고 저장한 이미지를 아래 명령어로 다시 컨테이너로 활성화하면 해결됨. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;$ docker run -p 8888:8888 --gpus all --privileged --rm -it -v /dev/video0:/dev/video0 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -v /dev/snd:/dev/snd -e=&quot;QT_X11_NO_MITSHM=1&quot; -v ~/docker:/data [저장한 이미지] bash&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;아마도,&lt;b&gt; $ xhost local:root&lt;/b&gt;를 통해서 권한 문제로 컨테이너가 디스플레이 안되던 문제가 해결되는 듯함.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;감사하게도 위 정보들을 참고할 수 있었던 곳&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://curioso365.tistory.com/44&quot;&gt;https://curioso365.tistory.com/44&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://light-tree.tistory.com/150&quot;&gt;https://light-tree.tistory.com/150&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/jessfraz/dockerfiles/issues/6&quot;&gt;https://github.com/jessfraz/dockerfiles/issues/6&lt;/a&gt;&lt;/p&gt;</description>
      <category>스터디흔적/인공지능 및 기계학습</category>
      <category>docker x window #docker opencv #docker no protocol specified</category>
      <author>거녀엉</author>
      <guid isPermaLink="true">https://smprlab.tistory.com/32</guid>
      <comments>https://smprlab.tistory.com/32#entry32comment</comments>
      <pubDate>Mon, 24 Aug 2020 10:44:04 +0900</pubDate>
    </item>
    <item>
      <title>Ubuntu FTP서버 설치 (FileZila 사용)</title>
      <link>https://smprlab.tistory.com/31</link>
      <description>&lt;p&gt;원격 빌드를 완료하여도 데이터셋을 서버PC에 옮기는 것은 귀찮은 작업이다.&amp;nbsp;&amp;nbsp;더군다나 서버 PC가 먼 곳에 있다면 불가능하거나 시간소모가 클 것이다. 이 글에서는 원격 서버 PC에&amp;nbsp;FTP 파일 서버를 설치하여 데이터셋을 전송하는 FileZila를 사용해&amp;nbsp;FTP 파일 서버를 설치하는 내용을 다룬다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;1. 아이피타임 공유기를 사용한 FTP 포트포워딩&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9981CF455C413C7F15&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9981CF455C413C7F15&quot; width=&quot;820&quot; height=&quot;604&quot; filename=&quot;FTP 포트포워딩.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이전 글에서 SSH 포트포워딩을 통해 원격 접속 PC의 Pycham pro 버전에서&amp;nbsp;서버PC의 파이썬 인터프리터를 불러와 사용하는 원격 빌드를 다뤘다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SSH 포트포워딩과 동일한 고정 IP 로 FTP 포트의 IP를 설정하고 외부 포트는 겹치지 않는 임의의 포트를 선택하고 내부 포트는 FTP 전용포트인 &lt;b&gt;21&lt;/b&gt;로&amp;nbsp;설정한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;공유기 설정이 끝났다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-size: 18.6667px;&quot;&gt;2. Ubuntu 서버 PC에 vsftpd 설치하기&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-size: 18.6667px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;아래 명령어로 ftp 서버 설치&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;b&gt;$ sudo apt-get install vsftpd&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;설치가 끝나면 기본 설정값을 변경해야합니다. 기본 설치 경로의 설정 파일을 아래 명령어로 변경해줍시다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;b&gt;$ sudo vim /etc/vsftpd.conf&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;아래 내용처럼 파일을 편집합니다. &lt;b&gt;Bold체&amp;nbsp;&lt;/b&gt;로 표시한 곳이 중요한 곳입니다. &lt;b&gt;Bold체&lt;/b&gt;&amp;nbsp;부분만 확인 후 변경해줍시다&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:9pt;&quot;&gt;==============================&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;= sftpd.conf&amp;nbsp; 파일 &lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;============================&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;=========&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Example config file /etc/vsftpd.conf&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# The default compiled in settings are fairly paranoid. This sample file&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# loosens things up a bit, to make the ftp daemon more usable.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Please see vsftpd.conf.5 for all compiled in defaults.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# READ THIS: This example file is NOT an exhaustive list of vsftpd options.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# capabilities.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Run standalone?&amp;nbsp; vsftpd can run either from an inetd or as a standalone&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# daemon started from an initscript.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;listen=NO&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# This directive enables listening on IPv6 sockets. By default, listening&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# on the IPv6 &quot;any&quot; address (::) will accept connections from both IPv6&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# sockets. If you want that (perhaps because you want to listen on specific&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# addresses) then you must run two copies of vsftpd with two configuration&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# files.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;listen_ipv6=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Allow anonymous FTP? (Disabled by default).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&lt;b&gt;anonymous_enable=NO&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Uncomment this to allow local users to log in.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;local_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Uncomment this to enable any form of FTP write command.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&lt;b&gt;write_enable=YES&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Default umask for local users is 077. You may wish to change this to 022,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# if your users expect that (022 is used by most other ftpd's)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#local_umask=022&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Uncomment this to allow the anonymous FTP user to upload files. This only&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# has an effect if the above global write enable is activated. Also, you will&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# obviously need to create a directory writable by the FTP user.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#anon_upload_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Uncomment this if you want the anonymous FTP user to be able to create&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# new directories.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#anon_mkdir_write_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Activate directory messages - messages given to remote users when they&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# go into a certain directory.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;dirmessage_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# If enabled, vsftpd will display directory listings with the time&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# in&amp;nbsp; your&amp;nbsp; local&amp;nbsp; time&amp;nbsp; zone.&amp;nbsp; The default is to display GMT. The&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# times returned by the MDTM FTP command are also affected by this&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# option.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;use_localtime=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Activate logging of uploads/downloads.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;xferlog_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Make sure PORT transfer connections originate from port 20 (ftp-data).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;connect_from_port_20=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# If you want, you can arrange for uploaded anonymous files to be owned by&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# a different user. Note! Using &quot;root&quot; for uploaded files is not&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# recommended!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#chown_uploads=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#chown_username=whoever&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# You may override where the log file goes if you like. The default is shown&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# below.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&lt;b&gt;xferlog_file=/var/log/vsftpd.log&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# If you want, you can have your log file in standard ftpd xferlog format.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Note that the default log file location is /var/log/xferlog in this case.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#xferlog_std_format=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# You may change the default value for timing out an idle session.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#idle_session_timeout=600&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# You may change the default value for timing out a data connection.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#data_connection_timeout=120&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# It is recommended that you define on your system a unique user which the&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# ftp server can use as a totally isolated and unprivileged user.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#nopriv_user=ftpsecure&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Enable this and the server will recognise asynchronous ABOR requests. Not&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# recommended for security (the code is non-trivial). Not enabling it,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# however, may confuse older FTP clients.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#async_abor_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# By default the server will pretend to allow ASCII mode but in fact ignore&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# the request. Turn on the below options to have the server actually do ASCII&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# mangling on files when in ASCII mode.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Beware that on some FTP servers, ASCII support allows a denial of service&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# attack (DoS) via the command &quot;SIZE /big/file&quot; in ASCII mode. vsftpd&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# predicted this attack and has always been safe, reporting the size of the&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# raw file.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# ASCII mangling is a horrible feature of the protocol.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#ascii_upload_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#ascii_download_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# You may fully customise the login banner string:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#ftpd_banner=Welcome to blah FTP service.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# You may specify a file of disallowed anonymous e-mail addresses. Apparently&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# useful for combatting certain DoS attacks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#deny_email_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# (default follows)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#banned_email_file=/etc/vsftpd.banned_emails&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# You may restrict local users to their home directories.&amp;nbsp; See the FAQ for&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# the possible risks in this before using chroot_local_user or&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# chroot_list_enable below.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#chroot_local_user=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# You may specify an explicit list of local users to chroot() to their home&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# directory. If chroot_local_user is YES, then this list becomes a list of&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# users to NOT chroot().&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# the user does not have write access to the top level directory within the&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# chroot)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#chroot_local_user=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#chroot_list_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# (default follows)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#chroot_list_file=/etc/vsftpd.chroot_list&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# You may activate the &quot;-R&quot; option to the builtin ls. This is disabled by&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# default to avoid remote users being able to cause excessive I/O on large&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# sites. However, some broken FTP clients such as &quot;ncftp&quot; and &quot;mirror&quot; assume&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# the presence of the &quot;-R&quot; option, so there is a strong case for enabling it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#ls_recurse_enable=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Customization&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Some of vsftpd's settings don't fit the filesystem layout by&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# default.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# This option should be the name of a directory which is empty.&amp;nbsp; Also, the&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# directory should not be writable by the ftp user. This directory is used&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# as a secure chroot() jail at times vsftpd does not require filesystem&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# access.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;secure_chroot_dir=/var/run/vsftpd/empty&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# This string is the name of the PAM service vsftpd will use.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;pam_service_name=vsftpd&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# This option specifies the location of the RSA certificate to use for SSL&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# encrypted connections.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;ssl_enable=NO&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;# Uncomment this to indicate that vsftpd use a utf8 filesystem.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;#utf8_filesystem=YES&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;===============================================================================&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;변경이 끝나면 저장 후 아래 명령어로 vsftpd를 재시작합니다.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;b&gt;$ sudo service vsftpd restart&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;그 다음 아래 명령어로 filezila를 설치합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;b&gt;$ sudo add-apt-repository ppa;n-muench/programs-ppa&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;b&gt;$ sudo apt-get update&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;b&gt;$ sudo apt-get install filezilla&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;이제 서버 PC에서 해야할 작업은 끝났습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;원격 접속 PC에 filezila를 설치합니다. 윈도우는 그냥 다운받고 설치하면 됩니다. 광고나 제휴 프로그램 설치가 많이 뜨므로 주의해서 가려가면 설치합시다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;설치가 끝나면 아래 그림처럼 FTP로 서버와 연결 후 빠르게 데이터를 주고 받을 수 있습니다. 3.3GB 파일이 30초만에 업로드되네요!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;이전 두 개글과 이번 글을 통해 Filezilla로 데이터셋 옮기고 Pycharm으로 원격 빌드하여 딥러닝 모델을 학습하는&amp;nbsp;환경을 구성하는 과정을 다루었습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;감사합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B7EF3F5C4142141A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B7EF3F5C4142141A&quot; width=&quot;820&quot; height=&quot;764&quot; filename=&quot;파일질라.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
      <category>스터디흔적/인공지능 및 기계학습</category>
      <author>거녀엉</author>
      <guid isPermaLink="true">https://smprlab.tistory.com/31</guid>
      <comments>https://smprlab.tistory.com/31#entry31comment</comments>
      <pubDate>Fri, 18 Jan 2019 12:06:31 +0900</pubDate>
    </item>
    <item>
      <title>Pycharm pro버전으로 서버 PC 환경의 python 인터프리터 사용하여 원격 빌드하기</title>
      <link>https://smprlab.tistory.com/30</link>
      <description>&lt;p&gt;Pycharm은 대학생 또는 대학원생에게 pro 버전을 사용할 수 있는 1년 라이센스를 무료로 제공한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.jetbrains.com/student/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://www.jetbrains.com/student/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 링크에서 학교 계정 이메일을 통해 인증을 받아 라이센스를 얻을 수 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;라이센스 얻은 후 Pycharm pro버전을 설치하면 로그인 창이 나오는데 이때 인증받은 계정을 통해 로그인하면 pro 버전을 무료로 1년간 사용할 수 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1년 후에도 다시 인증 받으면 무료로&amp;nbsp;사용할 수 있는거 같은데 1년 뒤에 생각해봐야겠다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;우선 서버 PC에 SSH를 설정해줘야한다. SSH 포트포워드 및 고정 IP 설정 방법은 이전 글에 설명했으니 참고바랍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SSH 포트포워드 및 고정 IP 설정 후 서버 PC에서 다음과 같은 명령어로 SSH 서버를 설치한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ sudo apt-get install openssh-server&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ sudo apt-get install ssh&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;여기까지 진행하면 서버PC에서 할 일은 끝났다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Pycharm에서 프로젝트를 만든 후 메뉴 -&amp;gt; File -&amp;gt;Setting에 들어가면 아래 그림처럼 Deployment 설정을 할 수 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9975D5435C4129DD05&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9975D5435C4129DD05&quot; width=&quot;820&quot; height=&quot;676&quot; filename=&quot;deployment 설정.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;처음 들어가면 Deployment 목록이 비어있따.&amp;nbsp;'+' 를 클릭하여 새로 만든다. ( * 지금부터 ' ' 표시는 버튼을 의미합니다. )&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Type : SFTP&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Host : DNS name (공유기 사용시)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;port : 외부포트 (공유기 사용시)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;User name : 서버 PC의 이름&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Password : 서버 PC 비밀번호&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;까지 입력 후 'Test Connection' 을 클릭하면 연결이 성공했는지 잘됐는지 확인 가능하다. 아마 이전 글과 앞에 내용에 이상이 없고 잘 따라왔으면&amp;nbsp;두 PC가 연결되는걸 볼 수 있을 것 입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Root path : &lt;/b&gt;는 앞에 연결이 잘 된 경우 'Autodetect' 로 자동으로 입력이 가능하다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Web server URL :&lt;/b&gt; 은 빈칸으로 둬도 상관없다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 서버와의 연결은 끝났다. 서버 PC의 파이썬 인터프리터를 가져와 쓸 일만 남은 것이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/995147355C412B9C07&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F995147355C412B9C07&quot; width=&quot;820&quot; height=&quot;619&quot; filename=&quot;파이썬 인터프리터 add.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Project&lt;/b&gt;란에 &lt;b&gt;Project Interpreter&lt;/b&gt; 를 클릭하면 위 그림과 같은 창이 뜬다. 우측 상단에 작은 '톱니바퀴' 모양의 버튼을 클릭한 후 'add'를 클릭한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994C9B4C5C412E5308&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994C9B4C5C412E5308&quot; width=&quot;820&quot; height=&quot;661&quot; filename=&quot;파이썬 인터프리터 가져오기.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SSH Interpreter 에서 Existing sever configuration 클릭하면 위에서 deployment 잡아뒀던 목록명이 뜬다. 그걸 클릭하면 아래 'create' copy~~가 뜬다. 'create'를 클릭한다. 그리고 Copy of project-level server &lt;b&gt;[deployment명]&lt;/b&gt; 바로&amp;nbsp;오른쪽&amp;nbsp;'...'버튼을 클릭해서 아래 그림처럼 mapping을 바꿔줘야 한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 808px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99A554455C412F820C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99A554455C412F820C&quot; width=&quot;808&quot; height=&quot;670&quot; filename=&quot;파이썬 인터프리터 가져오기2.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Deployment 는 한글로 전개라는 뜻이다. 현재 PC의 로컬 환경을 서버 PC의 전개한다는 뜻이다. 즉 &lt;b&gt;Local path :&lt;/b&gt; 의 파일들을 &lt;b&gt;Deployment path :&lt;/b&gt; 에 업로드한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;중요한건 앞에서 Deployment 잡아줄때 Root path가 /home/prlab 이였으므로 /home/prlab/kunyoung 이 Deployment path의 절대경로라는 점이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Deployment를 통해 업로드된 .py 파일은 심지어 GPU 연산이 필요한 코드일지라도 서버 PC의 환경에서 실행되는 것이다.&amp;nbsp;&lt;b&gt;Web path : &lt;/b&gt;역시 채울 필요없다. 하지만 여기서 &lt;b&gt;Deployment path :&lt;/b&gt; 를 설정할 필요가 없다.&amp;nbsp;'OK' 누르고 'Next' 눌러서 다음단계로 넘어가자&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994653335C41313B0E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994653335C41313B0E&quot; width=&quot;820&quot; height=&quot;554&quot; filename=&quot;파이썬 인터프리터 가져오기3.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Deployment path : &lt;/b&gt;는 위 창의 &lt;b&gt;Sync folders : &lt;/b&gt;에서 설정합니다. 저의 경우는 '/home/prlab/kunyoung' 경로로 설정했습니다. 편한 경로 아무데나 잡아주면 될것같습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 단계에서 제일 중요한건 바로 상단의 &lt;b&gt;Interpreter : &lt;/b&gt;란 입니다. 여기서 가상환경의 python 인터프리터를 쓸지 로컬 환경의 python 인터프리터를 쓸지 나뉩니다. /usr/bin/python 은 서버 PC의 Ubuntu 로컬 환경의 파이썬 인터프리터입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아나콘다 가상환경의 인터프리터를 사용할 경우 '/home/prlab/anaconda3/envs/keras2.2.4/bin/python' 와 같이 반드시 가상환경의 python 인터프리터를 경로로 잡아줘야합니다!!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;'/home/prlab/anaconda3/'는 이전 글에서도 보시다시피 아나콘다 설치시 기본 경로입니다. 처음 하시는 분들은 잘 찾아서 경로 지정해주시면 될 것 같습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;'Finish'를 눌러&amp;nbsp;설정이&amp;nbsp;끝나면 아래 그림처럼 서버 PC의 Remote python과 설치된 package 및 버전을 원격 PC에서 확인할 수 있습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;두 컴퓨터가 연결이 잘 되어있다는 뜻입니다. OK 후 마지막 단계로 넘어갑니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99640F365C41354B10&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99640F365C41354B10&quot; width=&quot;820&quot; height=&quot;619&quot; filename=&quot;파이썬 인터프리터 add.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;마지막으로는 원격 접속 PC의 pycharm에서 서버 PC의&amp;nbsp;cudnn 라이브러리를 환경변수로 잡아줘야합니다. 생각보다 쉽습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 541px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9920F63A5C41367D15&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9920F63A5C41367D15&quot; width=&quot;541&quot; height=&quot;318&quot; filename=&quot;환경변수.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;우측 상단의 재생버튼 옆 목록창 클릭후&amp;nbsp;'Edit Configurations' 클릭하면 환경변수 세팅하는 창이 뜹니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F343335C41372701&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F343335C41372701&quot; width=&quot;820&quot; height=&quot;521&quot; filename=&quot;환경변수2.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;LD_LIBRARY_PATH&lt;/b&gt; 환경 변수를 추가해야함으로 Environment variables 목록을 클릭하면 아래처럼 환경변수 추가가 가능합니다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;LD_LIBRARY_PATH&lt;/b&gt;&amp;nbsp;의 Value를 '/home/prlab/anaconda3/envs/keras2.2.4/lib' 경로처럼 자신의 아나콘다 가상환경의 경로의 lib 폴더를 지정합니다. 사용하려고자 하는 파이썬 인터프리터가 서버PC의 로컬 환경에 설치된&amp;nbsp;경우 경로는 아마 '/usr/CUDA/lib64'일 겁니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 784px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E4A93A5C41376011&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E4A93A5C41376011&quot; width=&quot;784&quot; height=&quot;518&quot; filename=&quot;env.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이로썬 서버PC의 파이썬 인터프리터를 불러오는게 끝났습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99C539435C4139700F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99C539435C4139700F&quot; width=&quot;820&quot; height=&quot;968&quot; filename=&quot;업로드.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 그림처럼 업로드하면 서버 PC에 파일이 올라가고 실행하면 서버 PC의 GPU 등 컴퓨터 자원을 사용하여 원격으로 빌드하여 코드를 돌려볼 수 있습니다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;메뉴 -&amp;gt; tools -&amp;gt; Deployment -&amp;gt; automatic upload 를 체크하면 업로드가 자동으로 되어 편합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음 글은 Ubuntu 서버에서 FTP 설정한 후 Filzila를 설치하여&amp;nbsp;학습데이터 및 대용량 데이터 전송에 대한 내용을 다루겠습니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>스터디흔적/인공지능 및 기계학습</category>
      <author>거녀엉</author>
      <guid isPermaLink="true">https://smprlab.tistory.com/30</guid>
      <comments>https://smprlab.tistory.com/30#entry30comment</comments>
      <pubDate>Fri, 18 Jan 2019 11:30:23 +0900</pubDate>
    </item>
    <item>
      <title>Ubuntu 18.04 LTS에서 그래픽 드라이버 nvidia-415 버전 설치</title>
      <link>https://smprlab.tistory.com/29</link>
      <description>&lt;p&gt;일반적인 Ubuntu 18.04 LTS 데스크탑 버전을 설치하면 Ubuntu repository에는 nvidia-390 버전 이상의 그래픽 드라이버가 없기 때문에 설치되지&amp;nbsp;않는다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;또한, Ubuntu 자체적으로 설치되어있는 nouveau라는 그래픽 드라이버는 딥러닝 연산 목적이 아닌 영화같은 영상매체를 보기위한 목적으로 linux 개발자들이 만든 그래픽 드라이버이기 때문에 삭제한 후 Nvidia의 정식 그래픽 드라이버를 설치해야한다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 글에서는 간단한 Ubuntu 18.04 LTS 설치 이후 작업 부터 아나콘다를 설치하여 Keras2.2.4 버전 실행까지 설치 진행 사항을 설명한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;1.&amp;nbsp;ubuntu 18.04.1 한글 입력 설정&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래 코드로 한글 언어팩을 설치한후&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install language-selector-gnome gnome-system-tools gnome-tweaks gnome-shell-extensions net-tools&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;윈도우키 눌러서 activation 모드에 진입 후 language support 를 검색 후 실행하면 나타나는 설치 프로세스들을 진행한다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;윈도우 키 누르고 setting -&amp;gt; Region &amp;amp; Language -&amp;gt; Manage installed languages 클릭해서 Korean -&amp;gt; Korea(hanguel) 클릭하면 한글 입력이 가능해진다.&amp;nbsp;만약 Korea(hanguel) 옵션이 안보이면 재부팅후 다시 확인한다!&lt;/p&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;2. Iptime 공유기 환경에서 SSH 포트포워드&amp;nbsp;설정&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;아이피타임 공유기를 쓰는경우&amp;nbsp;웹주소로도 공유기에 접속이 가능함&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래 그림처럼 원격 관리 포트를 412로 해주고 DDNS 서비스를 설정한 후&amp;nbsp;[&lt;b&gt;DDNS 주소]:[원격 관리 포트 번호]&lt;/b&gt;를 웹브라우저에 검색하면&amp;nbsp;원격지에서도 공유기 접속이 가능하다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F122485C41217430&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F122485C41217430&quot; width=&quot;820&quot; height=&quot;598&quot; filename=&quot;원격관리포트.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래처럼 공유기 환경에서 서버 PC에 SSH를 포트포워드 하기위해선 임의의 외부포트와 SSH연결을 나타내는 22 포트를 내부포트로 설정해야한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9919D6505C4122392F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9919D6505C4122392F&quot; width=&quot;820&quot; height=&quot;600&quot; filename=&quot;포트포워드.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;3. nouveau 설치 확인 및 제거&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래 명령어 실행 후 1줄이상&amp;nbsp;출력되면 nouveau가 설치된 환경이다.&amp;nbsp;Nvidia 정식 드라이버 설치를 위해선 삭제가 필요하다&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ lsmod | grep nouveau&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Vim 편집기를 설치해주자&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ sudo apt-get install vim&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래 경로에 blacklist 파일을 생성하자&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ sudo vim /etc/modprobe.d/blacklist-nouveau.conf&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;생성된 .conf 파일에 아래 두줄 입력 후 저장한다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;blacklist nouveau&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;options nouveau modset=0&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래 명령어를 입력 후&amp;nbsp;재부팅 한다. 만약 화면 안넘어가면 Ctrl + Alt + F4 눌러서 빠져나온 뒤 다시 재부팅&lt;/p&gt;&lt;p&gt;&lt;b&gt;$sudo update-initramfs -u&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아램 명령어를 입력하면 nouveau 제거가 완료된다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;$sudo service gdm stop&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;4. CUDA 9.2 이상의 버전과 호환 가능한 nvidia-415버전을 설치하기 위한 작업&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;기존 ubuntu는 nvidia-390버전 이상의 드라이버를 repository에 갖고 있지 않다. CUDA 9.2 버전 이상을 설치하기 위해선 아래 작업이 필요하다.&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ sudo add-apt-repository ppa:graphics-drivers/ppa&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ sudo apt update&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ sudo ubuntu-drivers autoinstall&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ sudo reboot&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ sudo apt install nvidia-cuda-toolkit gcc-6&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;최신 그래픽 드라이버가 설치가 된다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;$ nvidia-smi&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;명령어를 통해 확인하면 nvidia-415 버전의 드라이버와 CUDA 10이 깔린 것을 확인할 수 있다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;5. 아나콘다 설치&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아나콘다 사이트 들어가서 linux 버전을 다운로드 받는다&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;p&gt;다운 받은 파일 경로에서&amp;nbsp;$sha256sum Anaconda3-5.2.0-Linux-x86_64.sh 명령어로 checksum을 수행하여 다운 받은 파일의 무결성을 검증한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://docs.anaconda.com/anaconda/install/hashes/lin-3-64&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;docs.anaconda.com/anaconda/install/hashes/lin-3-64&amp;nbsp;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;링크로 들어가서 checksum 결과 확인&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ bash Anaconda3-5.2.0-Linux-x86_64.sh&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;명령어로 설치&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;중간에 마이크로소프트사의 VScode를 설치할 것인지 물어본다. 설치하고 싶지 않으면 no 커맨드로 거부한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그 외의 설치 경로 설정이나 그 외 설정들은 엔터나 yes로 기본 설정에 따른다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;설치 후 터미널을 재실행 한 후&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;conda --version으로 설치확인 (명령어 입력이 안되면 재부팅)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;설치 완료되면 conda 가상환경 생성 후 keras2.2.4 설치&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ conda create -n keras2.2.4 python=3.6&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ source activate keras2.2.4&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$ conda install keras-gpu==2.2.4&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;여기서 중요한 것은 가상환경에서 conda install keras-gpu 를 수행할 경우 gpu 연산에 필요한 CUDA Toolkit과 Cudnn이 가상환경 내에 설치된다는 점이다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;실제로 앞 선 과정들에서 오류가 없었다면 로컬환경에 CUDA Tookit과 cudnn을 전혀 설치하지 않아도 가상환경 내에서 GPU를 사용한 딥러닝 연산이 잘 수행되는 것을 확인할 수 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음 글에서는 서버 PC에 설치된 가상환경을 pycharm pro를 사용해 원격 PC에서 원격 빌드하는 내용을 다룬다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>스터디흔적/인공지능 및 기계학습</category>
      <author>거녀엉</author>
      <guid isPermaLink="true">https://smprlab.tistory.com/29</guid>
      <comments>https://smprlab.tistory.com/29#entry29comment</comments>
      <pubDate>Fri, 18 Jan 2019 10:03:03 +0900</pubDate>
    </item>
    <item>
      <title>아나콘다 기본 패키지 목록 및 설치 명령어</title>
      <link>https://smprlab.tistory.com/28</link>
      <description>&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;아나콘다 기본 패키지들은 아래와 같다&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;span style=&quot;font-size: 13.2px;&quot;&gt;명령어로 &quot;$ conda update conda&quot; 아나콘다를 업그레이드하면 기본 패키지를 간단하게 설치할 수 있다.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;span style=&quot;font-size: 13.2px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;기본 패키지 및 설치 명령어&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;1) Spyder&amp;nbsp;설치&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;# conda update spyder&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;2) numpy 설치&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;# conda install numpy&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;3) scipy 설치&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;# conda install scipy&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;4) matplotlib 설치&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;# conda install matplotlib&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;5) ipython 설치&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;# conda install ipython&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;6) pytest 설치&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;# conda install pytest&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;7) sympy 설치&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;br style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;# conda install sympy&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;b&gt;&lt;br style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 14pt;&quot;&gt;8) cython 설치&lt;/span&gt;&lt;/b&gt;&lt;br style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;br style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;# conda install cython&lt;/span&gt;&lt;/p&gt;</description>
      <category>스터디흔적/인공지능 및 기계학습</category>
      <author>거녀엉</author>
      <guid isPermaLink="true">https://smprlab.tistory.com/28</guid>
      <comments>https://smprlab.tistory.com/28#entry28comment</comments>
      <pubDate>Thu, 11 Oct 2018 21:57:00 +0900</pubDate>
    </item>
    <item>
      <title>베이지안 최소오류결정이론</title>
      <link>https://smprlab.tistory.com/27</link>
      <description>&lt;p&gt;영상처리 이후 특징을 추출하여 인식을 하게 되는데, 인식분야에서 Threshold(임계값)에 의해서 맞은지 틀린지 판단을 하게됩니다.&lt;/p&gt;&lt;p&gt;그에 대한 최소오류를 결정을 어떻게 해야하는지 대한 설명을 정리해봤습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/992D61405B55BCC603&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F992D61405B55BCC603&quot; width=&quot;820&quot; height=&quot;903&quot; filename=&quot;수정.bmp&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>스터디흔적/영상처리</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://smprlab.tistory.com/27</guid>
      <comments>https://smprlab.tistory.com/27#entry27comment</comments>
      <pubDate>Mon, 23 Jul 2018 20:44:11 +0900</pubDate>
    </item>
    <item>
      <title>[꿀팁]cmd에서 하위 폴더 파일들 검색또는 필터링하기!</title>
      <link>https://smprlab.tistory.com/26</link>
      <description>&lt;p&gt;100명 정도의 실험자를 촬영한 영상들을 배치처리하기 위한 자동화&amp;nbsp;프로그램을 짜던 중 알아두면 매우 편리한 cmd 명령어가 있어 공유합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;dir 이라는 명령어 인데요&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;실험결과가 담긴 폴더에 하위디렉토리가 많고 다양한 유형의 파일들이 존재하는 경우 필요한 유형의 파일과 그 파일의 경로를 리스트로&amp;nbsp;뽑기위해선&amp;nbsp;꽤 많은 라인의 프로그램을 짜거나 boost등 파일시스템 관련 라이브러리를 사용해야하는데 간단한 윈도우 cmd 명령어로 필요한 파일 리스트를 뽑을 수 있더군요...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래 그림이 cmd 명령어를 통해 필요한 파일들의 전체 경로를 리스트업한 그림입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9951574D5B0CF0F201&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9951574D5B0CF0F201&quot; width=&quot;820&quot; height=&quot;479&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&quot;&amp;gt;dir /s/b *vid2.avi&quot;&amp;nbsp;라는 명령어를 사용해서 spotanous_DB의 폴더 s, 폴더 b의 하위 디렉토리에&amp;nbsp;있던 avi 파일중 파일명 끝 4글자가 vid2로 끝나는 파일들의 절대경로를 모두 뽑아낸것입니다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;dir이라는 명령어는 dos 명령어중 디렉토리에 관한 명령어입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;/s 옵션은 현재 디렉토리와 하위디렉토리의 모든 파일을 보여주는것입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;/b 옵션은 검색된 파일들을 절대경로로 보여주라는 옵션입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;마지막에 &quot;*vid2.avi&quot; 옵션은 조건 검색을 하는 부분인데 '*' 와일드카드 문자를 사용해 파일명이 어찌됐든 끝 4글자가 vid2로 끝나는 .avi 형식의 파일을 필터링해서 보여주라는 뜻입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이렇게 파일의 절대경로를 리스트업하면 간다한 문서 편집으로 아래 그림처럼 커맨드라인으로 입력을 받는 프로그램에 인수로 파일들의 전체경로를 간편하게 입력할 수 있어서 배치처리를 하는 자동화 프로그램을 만들때 좀 더 편하게 프로그래밍이 가능합니다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99DC27395B0CF3E317&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99DC27395B0CF3E317&quot; width=&quot;820&quot; height=&quot;339&quot; filename=&quot;2.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위처럼 VIDEO_Segment_Program.exe에 31개의 vid1타입의 파일들의 경로을 간단하게 줄 수 있고 프로그램이 인수로 파일들의 경로를 받을 수 있으므로 매우 편하게 배치처리 프로그래밍이 가능해집니다!&amp;nbsp;&lt;/p&gt;</description>
      <category>소소한 이야기</category>
      <author>거녀엉</author>
      <guid isPermaLink="true">https://smprlab.tistory.com/26</guid>
      <comments>https://smprlab.tistory.com/26#entry26comment</comments>
      <pubDate>Tue, 29 May 2018 15:02:54 +0900</pubDate>
    </item>
    <item>
      <title>[꿀팁]웹 PDF에서 바로 논문 번역결과 보기</title>
      <link>https://smprlab.tistory.com/25</link>
      <description>&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;아래처럼 크롬 웹 PDF 상에서 오른쪽 버튼으로 크롬 응용 프로그램인 Cool tooltip dictionary 14을 실행하여&amp;nbsp;구글 번역 결과를 확인할 수 있는 방법을 설명하겠습니다!&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E6F8355AB9FF300D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E6F8355AB9FF300D&quot; width=&quot;820&quot; height=&quot;334&quot; filename=&quot;캡처.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;저기 노란 박스가 구글 번역 결과입니다!! 가끔 pdf 상에서 구글 번역기로 ctrl + c, ctrl + v하면 개행문자도 같이 복사되어서 불편한데 이 방법을 사용하면 개행문자를 알아서 삭제해줍니다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;웹브라우저는 크롬을 사용하여야 합니다!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;크롬에는 확장프로그램을 설치할 수 있는데 크롬에서 설정메뉴 -&amp;gt; 도구 더보기 -&amp;gt; 확장 프로그램으로 들어갑니다 아래는 예시입니다&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993325385ABA02EF1D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993325385ABA02EF1D&quot; width=&quot;820&quot; height=&quot;405&quot; filename=&quot;제목 없음.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;먼저, 아래 링크로 들어가서 크롬 확장 프로그램인 Cool Tooltip Dictionary 14를 설치해줍니다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/cool-tooltip-dictionary-1/bmbdcffdhebhecemcchbkfnjlmdiiepe?hl=ko&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;https://chrome.google.com/webstore/detail/cool-tooltip-dictionary-1/bmbdcffdhebhecemcchbkfnjlmdiiepe?hl=ko&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고, 크롬 확장 프로그램인 Adobe Acrobat을 설치해줍니다!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/adobe-acrobat/efaidnbmnnnibpcajpcglclefindmkaj?hl=ko&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;https://chrome.google.com/webstore/detail/adobe-acrobat/efaidnbmnnnibpcajpcglclefindmkaj?hl=ko&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고나서 아래처럼&amp;nbsp;설정메뉴 -&amp;gt; 도구 더보기 -&amp;gt; 확장 프로그램으로 들어가서&amp;nbsp;파일 URL에 대한 액세스 허용을 해줍니다!&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9981223F5ABA040314&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9981223F5ABA040314&quot; width=&quot;820&quot; height=&quot;589&quot; filename=&quot;캡처.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;그리고 아래처럼&amp;nbsp;pdf파일을 크롬 Adobe Acrobat 프로그램으로 열어서 번역하고 싶은 문단을 드래그 후 우클릭하면 아래처럼 Cool Tooltip Dictionnary 14 Translate 메뉴가 나오는데 클릭하면 번역 결과가 나옵니다!!!&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99ADC9355ABA05061E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99ADC9355ABA05061E&quot; width=&quot;820&quot; height=&quot;473&quot; filename=&quot;제목 없음.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;-끝-&lt;/p&gt;</description>
      <category>스터디흔적/인공지능 및 기계학습</category>
      <author>거녀엉</author>
      <guid isPermaLink="true">https://smprlab.tistory.com/25</guid>
      <comments>https://smprlab.tistory.com/25#entry25comment</comments>
      <pubDate>Tue, 27 Mar 2018 17:39:23 +0900</pubDate>
    </item>
    <item>
      <title>[꿀팁] 윈도우 탐색기에 마우스 오른쪽 버튼 클릭해서 CMD창 여는법!!</title>
      <link>https://smprlab.tistory.com/24</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;주피터 노트북은 CMD&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;창에서 명령어를 입력 할&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;때 경로를 Root로 가지기 때문에 다른 상위 디렉토리에 있는 파일을 불러올려면 윈도우 커맨드 'cd' 로 해당 경로로 이동한다음 다시 주피터 노트북을 켜야하는데 이것은 상당히 손이 많이갑니&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;다.... 'cd'&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;명령어 없이 디렉토리 이동을 편하게 할 수 있고&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;CMD창을 간편하게 열 수 있는 팁을 설명해보도록 하겠습니다.&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;1. 레지스트리 편집기창 열기!&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&quot;윈도우키 + R&quot; 단축키로 실행 창 켜서 &quot;REGEDIT&quot; 입력 후 엔터&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 470px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99D2FB455AAA085737&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99D2FB455AAA085737&quot; width=&quot;470&quot; height=&quot;221&quot; filename=&quot;실행창.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;2. HKEY_CLASSES_ROOT =&amp;gt; Directory =&amp;gt; Background =&amp;gt; shell 항목으로 이동!!&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;이동 후 shell 클릭후 오른쪽 클릭해 메뉴에서 &quot;새로만들기 -&amp;gt; 키&quot; 클릭&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 709px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/991E7A3F5AAA0C632B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F991E7A3F5AAA0C632B&quot; width=&quot;709&quot; height=&quot;439&quot; filename=&quot;키추가하기.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;새로 만들어진 디렉토리에 &quot;opencmd&quot; 이름 설정&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 595px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9908493F5AAA0CF931&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9908493F5AAA0CF931&quot; width=&quot;595&quot; height=&quot;335&quot; filename=&quot;키추가하기.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;b&gt;2. 생성된 opencmd 클릭해서 오른쪽 (기본값) 파일 더블클릭!!&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 591px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993B55385AAA0D5D1D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993B55385AAA0D5D1D&quot; width=&quot;591&quot; height=&quot;311&quot; filename=&quot;캡처.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;더블클릭하면 아래처럼 창이 뜸!&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 653px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/999F623C5AAA0DC827&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F999F623C5AAA0DC827&quot; width=&quot;653&quot; height=&quot;359&quot; filename=&quot;캡처.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;값 데이터 란에 &quot;현재 폴더에서 CMD창 켜기&quot; 입력 후 확인!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그러면 놀랍게도 폴더에서 오른쪽 클릭시 &quot;현재 폴더에서 CMD창 켜기&quot; 메뉴가 추가된것을 볼 수 있습니다!!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 596px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9931F4335AAA0E4F2E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9931F4335AAA0E4F2E&quot; width=&quot;596&quot; height=&quot;372&quot; filename=&quot;키추가하기.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;이제 이 메뉴에 아이콘과 cmd.exe 기능을 추가해보도록 할게요!!!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;2. 아이콘 추가하기&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;아래 그림처럼 &quot;새로만들기 -&amp;gt; 문자열 값&quot; 클릭!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 800px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99279A3B5AAA0F2A2A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99279A3B5AAA0F2A2A&quot; width=&quot;800&quot; height=&quot;394&quot; filename=&quot;키추가하기.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;클릭하고 위에서 &quot;현재 폴더에서 CMD창 켜기&quot;를 입력했던것과 마찬가지 방식으로 Icon 레지스트리의 데이터에 &quot;cmd.exe&quot; 입력!!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99934F3C5AAA0F8C2F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99934F3C5AAA0F8C2F&quot; width=&quot;820&quot; height=&quot;360&quot; filename=&quot;캡처.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;입력 후 확인하면 윈도우 탐색기에서 오른쪽 클릭 메뉴에 있는 &quot;현재 폴더에서 CMD창 켜기&quot; 란에 'cmd.exe' 아이콘이 추가된것을 확인할 수 있어요!!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;2. 마지막으로&amp;nbsp;&quot;현재 폴더에서 CMD창 켜기&quot;&amp;nbsp;버튼에&amp;nbsp;기능 추가하기!!!&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이번에는 &quot;opencmd&quot; 클릭 후 오른쪽 마우스 눌러서 하위 디렉터리에 키 만들기!!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 657px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9940023A5AAA109A2A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9940023A5AAA109A2A&quot; width=&quot;657&quot; height=&quot;450&quot; filename=&quot;키추가하기.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 634px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E1C3385AAA10B033&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E1C3385AAA10B033&quot; width=&quot;634&quot; height=&quot;376&quot; filename=&quot;캡처.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;command 라는 키값 만들고 (기본값)의 데이터를 cmd.exe로 만들어주면 기능 추가 끝이다!!!!ㅎㅎ&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 765px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99EA5E405AAA10FF02&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99EA5E405AAA10FF02&quot; width=&quot;765&quot; height=&quot;392&quot; filename=&quot;캡처.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;이제 편하게 해당 윈도우 탐색기 경로에서 CMD 창을 켤 수 있습니다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/995F27485AAA133631&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F995F27485AAA133631&quot; width=&quot;820&quot; height=&quot;400&quot; filename=&quot;키추가하기.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>스터디흔적/인공지능 및 기계학습</category>
      <author>거녀엉</author>
      <guid isPermaLink="true">https://smprlab.tistory.com/24</guid>
      <comments>https://smprlab.tistory.com/24#entry24comment</comments>
      <pubDate>Thu, 15 Mar 2018 15:25:21 +0900</pubDate>
    </item>
    <item>
      <title>윈도우 10 환경에서 tensorflow gpu 설치하기(2)!!</title>
      <link>https://smprlab.tistory.com/22</link>
      <description>&lt;h1&gt;윈도우 10 환경에서 텐서플로우 GPU 버전&amp;nbsp;설치 가이드&lt;/h1&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt; font-family: Dotum, 돋움;&quot;&gt;설치 가이드 과정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;1. cuda_8.0.61_win10 설치&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;2.&amp;nbsp;cudnn-8.0-windows10-x64-v5.1&amp;nbsp;설치&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;3. Anaconda 설치&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&lt;span style=&quot;font-size: 18pt; font-family: Dotum, 돋움;&quot;&gt;&lt;b&gt;4.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=&quot;font-family: Dotum, 돋움; font-size: 24px;&quot;&gt;가상환경 생성 및&amp;nbsp;&lt;/b&gt;&lt;b style=&quot;font-family: Dotum, 돋움; font-size: 18pt;&quot;&gt;tensorflow-gpu 설치&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&lt;span style=&quot;font-size: 18pt; font-family: Dotum, 돋움;&quot;&gt;&lt;b&gt;5. Jupyter notebook에 가상환경 커널 추가하기!&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;제가 처음 GPU버전 텐서플로우를 설치하면서 구글링한 내용을 바탕으로 작성한 글입니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;저와 다른 환경에서는 이 설치가이드가 부적절할 수도 있으니 참고해주세요!&lt;/p&gt;&lt;p&gt;저의 설치 환경인&amp;nbsp;&lt;b&gt;윈도우 10&lt;/b&gt;에서 설치파일&amp;nbsp;&lt;b&gt;Anaconda3 4.2.0&lt;/b&gt;&amp;nbsp;버전,&amp;nbsp;&lt;b&gt;cuda_8.0.61_win10&lt;/b&gt;&amp;nbsp;버전,&amp;nbsp;&lt;b&gt;cudnn-8.0-windows10-x64-v5.1&amp;nbsp;&lt;/b&gt;버전으로설치 및 실행 확인했습니다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;4. 가상환경 생성 및 tensoflow-gpu&lt;/h4&gt;&lt;div&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;텐서플로우를 설치하기전 가상환경을 만들어 줍니다!! 가상환경을 만들어주는 이유는 사용에 알맞은 python 및&amp;nbsp; 텐서플로우 버전 환경을 만들어주기 위함입니다. 하나의 환경에서 파이썬,&amp;nbsp;텐서플로우 버전이 마구잡이로 섞여있다면 관리도 힘들고 환경 구성도 힘드니까요! 그리고 공용PC의 경우 각자 원하는 환경에서 작업이 가능하기에 가상환경의 사용이 좋습니다.&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;다음은 가상환경을 만드는 명령어입니다.&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;b&gt;&amp;gt; conda create -n [가상환경명]&amp;nbsp;python=3.5&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;저는 파이썬 3.5버전에서 텐서플로우를 깔았기 때문에 가상환경이름을 &lt;b&gt;tensorflow3.5&lt;/b&gt;으로 해주었습니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;gt; conda create -n tensorflow3.5 python=3.5&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;환경 구성 후 확인을 위해 &lt;b&gt;&quot;&amp;gt;conda info&amp;nbsp;--envs&quot; &lt;/b&gt;명령어를 입력해 확인합니다&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 670px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F3E0405A8EC55F11&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F3E0405A8EC55F11&quot; width=&quot;670&quot; height=&quot;155&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;가상환경이 이상이 없이 생성됐다면&amp;nbsp;빨간줄처럼 &lt;b&gt;tensorflow3.5 &lt;/b&gt;이름의 환경이 추가 되어질 것입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 가상환경을 활성화시켜보겠습니다. 가상환경 활성화 명령어는 &lt;b&gt;&quot;&amp;gt;activate tensorflow3.5&quot;&lt;/b&gt; 입니다&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 566px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B60E385A8EC5F30B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B60E385A8EC5F30B&quot; width=&quot;566&quot; height=&quot;180&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;잘 설치됐다면 위의 그림처럼 &lt;b&gt;&quot;(tensorflow3.5) C:\Users\PRLAB&amp;gt;&quot;&lt;/b&gt;가 출력됩니다. 여기서 괄호안에 문자열은 활성화된 가상환경이름입니다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;가상환경을 활성화하여 가상환경에 접속했다면 가상환경에 텐서플로우를 설치해봅시다&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래의 명령어를 입력해 pip를 사용하여&amp;nbsp;텐서플로우 GPU 버전을 설치합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&quot;(tensorflow3.5) C:\Users\PRLAB&amp;gt;pip install tensorflow-gpu&quot;&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;설치가 끝나면 아래 명령를 입력해 텐서플로우 GPU 버전을 업그레이드 해줍니다. --upgrade와 URL 사이에 띄어쓰기입니다 URL이 길어서 다음줄로 넘어가네요&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&quot;(tensorflow3.5) C:\Users\PRLAB&amp;gt;pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.0.0rc2-cp35-cp35m-win_amd64.whl&quot;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;설치가 끝나면 가상환경 &lt;b&gt;tensorflow3.5&lt;/b&gt;에&amp;nbsp;텐서플로우 GPU&amp;nbsp;설치가 끝난 것입니다!!!&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;설치 확인은 아래 명령어로 할 수 있습니다!&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;b&gt;C:\Users\PRLAB&amp;gt;activate tensorflow3.5&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;b&gt;(tensorflow3.5) C:\Users\PRLAB&amp;gt;python&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;Python 3.5.4 |Continuum Analytics, Inc.| (default, Aug 14 2017, 13:41:13) [MSC v.1900 64 bit (AMD64)] on win32&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;b&gt;&amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cublas64_80.dll locally&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cudnn64_5.dll locally&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cufft64_80.dll locally&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library nvcuda.dll locally&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library curand64_80.dll locally&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&quot;&amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&quot; &lt;/b&gt;이후에 5줄 모두&lt;b&gt; &quot;&lt;/b&gt;successfully opened CUDA library .....&quot; 메세지가 출력된다면 설치가 잘 진행된 것입니다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;5. Jupyter notebook에 가상환경 커널 추가하기!!&lt;/h4&gt;&lt;div&gt;가상환경에서 주피터 노트북을 실행시 주피터 노트북에는 파이썬 커널이 아래 빨간 동그라미처럼 [conda root]와 [default]만 잡힙니다!!&lt;/div&gt;&lt;p&gt;이 커널은 기본 커널로 텐서플로우를 설치한 가상환경 커널이 아니므로 저 두개 커널로는 텐서플로우 GPU 버전을 실행할 수 없습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99958E4D5A8ECA140B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99958E4D5A8ECA140B&quot; width=&quot;820&quot; height=&quot;310&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;가상환경 커널을 주피터 노트북에 추가하기위해 다음과 같은 명령어를 입력합시다&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;C:\Users\PRLAB&amp;gt;activate tensorflow3.5&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;(tensorflow3.5) C:\Users\PRLAB&amp;gt;pip install ipykernel&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위의 명령어로 가상환경에 주피터 노트북 설치 후 아래 명령어로 가상환경에 커널을 주피터 노트북에 추가합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;(tensorflow3.5) C:\Users\PRLAB&amp;gt;python -m ipykernel install --user --name tensorflow3.5 --display-name &quot;tensorflow3.5&quot;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;명령어 포맷&amp;nbsp;:&amp;nbsp;&amp;gt;python -m ipykernel install --user --name [&lt;/b&gt;&lt;b&gt;가상환경명]&lt;/b&gt;&lt;b&gt;&amp;nbsp;--display-name &quot;[표시할 이름]&quot;&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;p&gt;위의 명령어로 주피터 노트북에 가상환경 커널이 추가됐습니다. 주피터 노트북을 켜서 확인해봅시다&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;(tensorflow3.5) C:\Users\PRLAB&amp;gt;jupyter notebook&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;입력후 커널을 확인하면 &lt;b&gt;tensorflow3.5&lt;/b&gt; 가상환경 커널이 추가된것을 확인할 수 있습니다!!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Python[conda env:tensorflow3.5]&lt;/b&gt; 이나 &lt;b&gt;tensorflow3.5&lt;/b&gt;를 클릭하여 가상환경 커널하에 노트북을 생성하면 됩니다!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F269455A8ECD0927&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F269455A8ECD0927&quot; width=&quot;820&quot; height=&quot;491&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;/b&gt;이제 주피터 노트북에서도 텐서플로우 GPU 버전을 실행할 수 있습니다! ㅎㅎ&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>스터디흔적/인공지능 및 기계학습</category>
      <author>거녀엉</author>
      <guid isPermaLink="true">https://smprlab.tistory.com/22</guid>
      <comments>https://smprlab.tistory.com/22#entry22comment</comments>
      <pubDate>Thu, 22 Feb 2018 22:50:29 +0900</pubDate>
    </item>
  </channel>
</rss>