카테고리 없음

TensorFlow

TensorFlow

 

Python 에서 NumPy 만을 이용하여 신경 네트워크 코드를 작성하려고 시도했던 어떤 사람이든 그것이 얼마나 귀찮은지 알고 있다.간단한 한 층의 이전 네트워크를 만드는 코드가 아직 40줄이 넘는 코드가 필요하기 때문에, 층수를 늘릴 때 코드 작성이 더욱 어려워지고 실행 시간이 더 길어집니다.

TensorFlow는 이 모든 것을 보다 쉽고 빠르게 만들어 아이디어에서 배치 사이의 구현 시간을 단축시킵니다.본 튜토리얼에서, 당신은 딥 신경 네트워크를 위해 TensorFlow의 기능을 이용하는 방법을 배울 것입니다.

TensorFlow는 Google 브레인 팀이 딥 신경 네트워크(DNN)를 위해 개발한 강력한 오픈 소스 소프트웨어 라이브러리로, 2015년 11월에 처음 배포되었으며 Apache 2.x 프로토콜의 라이센스 하에 가용합니다.오늘날까지, 짧은 냥연내에 그 GitHub 라이브러리의 대략 845개 기여자가 총 17,000회가 넘는 것을 제출하는 것 자체가 TensorFlow의 유행도와 성능을 가늠하는 하나의 지표입니다.

그림 1에는 현재 유행하는 딥러닝 프레임워크가 나열되어 있으며, 여기에서 TensorFlow의 리드 타임이 명확히 보입니다:

TensorFlow의 리드 타임 표시 의도
그림 1 TensorFlow의 리드 타임 표시 의도

먼저 TensorFlow가 무엇인지, 그리고 그것이 왜 DNN 연구자와 엔지니어들에게 인기가 있는지 알아보겠습니다.

오픈 소스 딥 학습 라이브러리인 TensorFlow는 딥 신경 네트워크의 계산을 임의의 수의 CPU 또는 GPU의 서버, PC 또는 모바일 장치에 배치하도록 허용하고 하나의 TensorFlow API만 활용합니다.당신은 물어볼지도 모르지만, 다른 깊이학도 많이 있다.습고, 예를 들어 Torch, Theano, Caffe 과 MxNet 처럼 TensorFlow 는 다른 딥러닝 라이브러리와의 차이점은 어디일까요?TensorFlow 포함 대다수 깊이학습 라이브러리는 자동으로 유도되고, 오픈되며, 다양한 CPU/GPU를 지원하며, 예훈련 모델을 보유하고 있으며, 종종 사용되는 NN 아키텍처를 지원하며, 예를 들어 체귀신경망(RNN), 권적 신경 네트워크(CNNNNNNNN)

TensorFlow의 경우 더 많은 특징이 있으며 다음과 같습니다.
Python, C++, Java, R 및 Go와 같은 모든 유행 언어가 지원됩니다.
다양한 플랫폼에서 작업할 수 있으며, 심지어는 모바일 플랫폼과 분산 플랫폼도 가능합니다.
그것은 모든 클라우드 서비스(AWS, Google 및 Azure)의 지원을 받습니다.
Keras—고급 신경 네트워크 API, 이미 TensorFlow와 통합되어 있습니다.
Torch/Theano와 비교하여 TensorFlow는 더 나은 계산 그래프 가시화를 가집니다.
모형을 산업 생산에 배치하고 쉽게 사용할 수 있도록 허용합니다.
아주 좋은 커뮤니티 지원이 있습니다.
TensorFlow 는 단지 하나의 소프트웨어 라이브러리가 아니라 TensorFlow , TensorBoard , 그리고 TensorServing 을 포함하는 세트입니다.

구글 리서치 블로그는 전세계에서 TensorFlow를 사용하여 개발한 흥미로운 항목들을 열거하고 있습니다:
Google 번역은 TensorFlow 와 TPU(Tensor Processing Units)를 활용합니다.
Project Magenta는 강화 학습 모델을 사용하여 음악을 생성할 수 있도록 TensorFlow를 적용했습니다.
호주 해양 생물학자들은 멸종 위기에 처한 바다소들을 발견하고 이해하기 위해 TensorFlow를 사용합니다.
일본의 한 농민이 하나의 개발 활용 응용 TensorFlow 크기와 형태가 사용 절차 등에 대한 물리적 특성을 분류해 오이다.

TensorFlow를 사용하는 항목은 아직 많습니다.본 튜토리얼은 TensorFlow 딥러닝 모델에서의 애플리케이션을 이해하도록 하기 위해 독자가 쉽게 모델을 데이터 집합에 적용하고 유용한 애플리케이션을 개발할 수 있도록 합니다.각 장에는 일련의 처리 기술 문제, 의존성, 코드가 포함되어 있다판독의 예와 함께, 각 장의 마지막에 기능적으로 완벽한 깊이 학습 모델이 하나 더 있다.

 

이 절에서는 서로 다른 운영 체제(Linux, Mac 및 Windows)에 어떻게 TensorFlow 1.3을 새로 설치하는지 설명합니다. 먼저 TensorFlow를 설치하는 데 필요한 요구 사항을 알고, TensorFlow를 Ubuntu 와 macOS 에서 로딩할 수 있습니다.위 native pip, Anaconda, virtualenv 및 Docker에서 설치하여 Windows 운영 체제에 대해 native pip 또는 Anaconda를 사용할 수 있습니다.

Anaconda는 이 세 가지 운영체제에 적용되며 설치가 간단하고 동일한 시스템에서 서로 다른 프로젝트 환경을 유지하는 것도 편리하기 때문에 본 튜토리얼은 A에 기초할 것입니다.naconda TensorFlow를 설치합니다.
Anaconda 및 그 환경 관리에 대한 더 많은 자세한 정보는 https://conda.io/docs/user-를 참조하십시오.guide/index.html 입니다.

이 튜토리얼에 있는 코드는 이미 다음과 같은 플랫폼에서 테스트되었습니다.
Windows 10, Anaconda 3, Python 3.5, TensorFlow GPU, CUDA toolkit 8.0,cuDNN v5.1,NVDIA GTX 1070
Windows 10/Ubuntu 14.04/Ubuntu 16.04/macOS 시에라,Anaconda 3,Python 3.5,TensorFlow(CPU)
TensorFlow 설치 준비 작업
TensorFlow 설치의 전제는 시스템에 Python 2.5 또는 그 이상의 버전이 설치되어 있다는 것이며, 튜토리얼 중의 예는 Python으로 되어 있습니다. 3.5(Anaconda 3판)를 기반으로 설계되었습니다.TensorFlow를 설치하기 위해서는 먼저 당신이 이미 Anaconda를 설치하였음을 확실히 합니다.웹 주소(https://www.continuum.io/downloads)에서 Windows/macOS 또는 Linux 에 적용되는 Anaconda를 다운로드하여 설치할 수 있습니다.

설치가 완료되면 윈도우즈에서 다음 명령을 사용하여 설치 검증을 수행할 수 있습니다:
conda --version

Anaconda를 설치했으며 다음 단계에 따라 TensorFlow CPU 버전 또는 GPU 버전을 설치할지 여부를 결정합니다.거의 모든 컴퓨터가TensorFlow CPU 버전을 지원하는 반면, GPU 버전은 컴퓨터에 하나의 CUDA compute capability 3.0 및 그 이상의 NVDIA GPU를 요구합니다(데스크톱에 대한 최소 배치는 NVDIA GPU입니다). 
CPU 및 GPU 대비: 중앙 프로세서(CPU)는 순차적인 직렬 처리 최적화에 대한 인벤토리(4~8개)로 구성됩니다.그래픽 프로세서(GPU)대규모 병렬 아키텍처를 갖추고 있으며, 수천 개의 더 작고 효율적인 코어(대략 천계)로 구성되어 여러 개의 워크로드를 동시에 처리할 수 있습니다.

TensorFlow GPU 버전에 대해 CUDA toolkit 7.0 및 그 이상의 버전을 먼저 설치해야 함, NVDIA[1]R] 드라이브와 cuDNN v3 또는 그 이상의 버전.Windows 시스템에는 또한 필요한 DLL 파일을 독자가 다운로드하거나 Visual Studio C++를 설치할 수 있는 별도의 DLL 파일이 필요합니다.

또 다른 하나는 cuDNN 파일이 서로 다른 디렉토리에 설치되어 있어야 하고 디렉토리가 시스템 경로에 있도록 해야 한다는 것을 기억해야 합니다.물론 CUDA 라이브러리를해당 파일이 해당 폴더에 복사됩니다.
TensorFlow 설치 세부 작성
명령행에서 다음 명령을 사용하여 conda 환경을 만듭니다(Windows를 사용하려면 명령행에서 관리자로 실행하는 것이 좋습니다):
conda create -n tensorflow python=3.5

conda 환경 활성화:


 
이 명령은 다음을 제시해야 한다.


 
conda 환경에 설치할 TensorFlow 버전에 따라 다음 명령을 입력합니다:


 
명령행에 python을 입력하고 다음과 같은 코드를 입력합니다.


 
출력은 다음과 같습니다.


명령행에서 conda 환경 사용 금지(Windows에서 deactivate 명령 사용, MAC/Ubuntu 호출 사용) source deactivate 명령).
TensorFlow 설치 프로세스 판독 분석
Google은 wheel 표준 배포 TensorFlow를 사용하여 .whl 포스트의 ZIP 형식 파일을 배포합니다.Python 3.6은 Anaconda 3이 묵시적으로 Python 버전이며 이미 설치되어 있는 wheel이 없습니다.본 튜토리얼을 작성할 때 Python 3.6에서 지원되는 wheel은 Linux/Ubuntu에만 초점을 맞추고 있으므로 TensorFlow 환경을 만들 때 여기에서 Python 3.5를 지정합니다.이어서 conda 환경을 새로 지었습니다, 명이름이 tensorflow이며 pip, python, wheel 및 기타 소프트웨어 패키지가 설치됩니다.

conda 환경이 만들어지면 source activate/activate 명령을 사용하여 환경을 활성화합니다.활성화된 환경에서 를pip install 명령으로 설치하는 데 필요한 TensorFlow(해당되는 TensorFlow-API URL로부터 다운로드).conda forge를 사용하여 TensorFlow CPU를 설치하라는 Anaconda 명령에도 불구하고, TensorFlow는 pip install을 사용할 것을 권장합니다.conda에서 환경에 TensorFlow를 설치하면 사용을 금지할 수 있습니다.이제 첫 번째 TensorFlow 프로세스를 수행할 수 있습니다.

프로그램이 실행될 때 일부 경고(W) 소식과 알림(I) 소식이 보일 수 있으며 마지막으로 출력 코드:
Welcome to the exciting world of Deep Neural Networks!

첫 번째 TensorFlow 코드가 성공적으로 설치되고 실행된 것을 축하하며 다음 절에서 코드를 더 깊이 통독합니다.
독서를 확장하다.
또한, 당신은 Jupyter notebook을 설치할 수 있습니다:
python 설치:
conda install -c anaconda ipython

설치 nb_conda_kernels:
conda install -channel=conda-forge nb_conda_kernels

시동 주피터 노트북:
주피터 노트북

팁: 이것은 새로운 브라우저 창을 열 것입니다.

TensorFlow가 이미 설치되어 있다면 pip install-upgrade tensorflow를 호출할 수 있습니다. 업그레이드를 수행합니다.

또한, 당신은 다음과 같은 인터넷 주소를 통해 TensorFlow 설치에 대한 더 많은 자료를 찾을 수 있다: