[1 жаңарту] Windows үшін TensorFlow GPU / CPU құру және орнату Bazel және Python 3.6 бастапқы кодынан

Бұл менің бұрынғы тарихымды жаңарту. Мұнда қандай жаңалықтар бар:

  • TensorFlow v1.11
  • CUDA v10.0
  • cuDNN v7.3

Ресми сайтта гидтер бар. Бұл өте кең емес, бірақ кейде пайдалы.

Қысқаша мазмұны

  1. Windows үшін Git орнатыңыз
  2. Bazel орнатыңыз
  3. MSYS2 x64 және командалық жол құралдарын орнатыңыз
  4. Visual Studio 2017 құрастыру құралдарын қоса, Visual Studio 2017 құрастыру құралдарын орнатыңыз
  5. Python 3.6 64 биттік орнатыңыз
  6. NVIDIA CUDA 10.0 және cuDNN 7.3 орнатыңыз (GPU жеделдету үшін)
  7. Құру ортасын теңшеңіз
  8. TensorFlow v1.11 бастапқы кодын клондап, міндетті түзетуді қолданыңыз
  9. Құрылым параметрлерін теңшеңіз
  10. TensorFlow көздерін құру
  11. Python 3.6 үшін TensorFlow дөңгелегі файлын жасаңыз
  12. Python 3.6 үшін TensorFlow дөңгелегі файлын орнатыңыз және нәтижені тексеріңіз

1-қадам: Windows үшін Git бағдарламасын орнатыңыз

Windows үшін Git-ті жүктеп алыңыз. Мен мұнда алып барамын. Git.exe жолының% PATH% айнымалысына қосылғанына көз жеткізіңіз. Мен Git-ті орнатып жатырмын

C: \ Bin \ Git

Осы оқулыққа арналған қалта.

2-қадам: MSYS2 x64 және командалық жол құралдарын орнатыңыз

64 биттік үлестірімді жүктеп алыңыз және орнатыңыз. Базель көздерді құру үшін Unix құралдарының grep, patch, unzipand және басқа порттарын қолданады. Сіз әрқайсысы үшін дербес екілік файлдарды табуға тырыса аласыз, бірақ мен MSYS2 бумасын қолданғанды ​​жөн көремін. Мен оны орнатамын

C: \ Bin \ msys64

Осы оқулыққа арналған қалта. Сіз% PATH% ортасының айнымалысына құралдар қалтасын қосуыңыз керек. Менің жағдайда бұл «C: \ Bin \ msys64 \ usr \ bin».

Бастау мәзірі арқылы «MSYS2 MinGW 64-бит» сілтемесін бастаңыз. Жаңарту үшін келесі команданы іске қосыңыз (сұралғанда MSYS2 MinGW 64 битті қайта іске қосыңыз):

Пакман Сью

Содан кейін іске қосыңыз:

Пакман -Су

Құрастыру үшін қондырғылар қажет:

Пакман патчын босатыңыз

MSYS2 MinGW 64 биттік қабығын «шығу» командасымен жабыңыз. Бұл енді бізге керек емес.

3-қадам: Visual Studio 2017 құрастыру құралдарын қоса, Visual Studio 2017 құрастыру құралдарын орнатыңыз

TensorFlow v1.11 құрастыру үшін Visual Studio 2017 Build Tools-тен жұмыс үстелінің құралдар жиынтығына арналған VC ++ 2015.3 v14.00 (v140) орнату қажет:

4-қадам: Bazel бағдарламасын орнатыңыз

Соңғы Базельді мына жерден жүктеп алыңыз. Bazel- файлын іздеңіз -windows-x86_64.exe. Мен бұл оқулықты Bazel 0.17.2 көмегімен тексердім. Екілік файлдың атын bazel.exe деп өзгертіңіз және оны% PATH% каталогына жылжытыңыз, осылайша кез-келген каталогқа bazel теру арқылы Bazel іске қосыңыз. Windows x64 үшін Bazel орнату туралы толық ақпаратты ақаулықтардан қараңыз.

Бас позициясы үшін BAZEL_SH ғаламдық орта айнымалысын қосыңыз. Менің жолым

C: \ Bin \ msys64 \ usr \ bin \ bash.exe

«VC ++ 2015.3 v14.00 (v140) жұмыс үстелі үшін» құралдар жиынтығына арналған қоршаған ортаға арналған әлемдік айнымалы айнымалыны қосыңыз:

C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC

5-қадам: Python 3.6 64 биттік орнатыңыз

TensorFlow Python 3.7-ді қолдамайды, сондықтан сізге 3.6 нұсқасын орнату қажет.
TensorFlow v1.11 Anaconda / Miniconda-ді енді қолдайтын сияқты емес - менде қате пайда болды. Сондықтан мен құру үшін Python виртуалды ортасын қолданамын.

Python 3.6 мына жерден жүктеуге болады. Оны орнатыңыз және python.exe орнын% PATH% айнымалысына қосыңыз.

6-қадам: NVIDIA CUDA 10.0 және cuDNN 7.3 орнатыңыз (GPU жеделдету үшін)

Егер сізде CUDA қолдайтын NVIDIA графикалық картасы болса, бұл бөлім қолданыста болады. Әйтпесе, осы бөлімді өткізіп жіберіңіз.
Егер сізге көмек қажет болса, CUDA-ны кезең-кезеңімен орнатуға болады. Мен бұл нұсқаулықты көшіремін, бірақ кейбір мәліметтерді кесіп тастаймын.

Https://developer.nvidia.com/cuda-downloads сайтына өтіп, Windows-қа арналған CUDA 10.0 орнатушысын жүктеп алыңыз [сіздің нұсқаңыз]. Мен үшін нұсқа - Windows 10.

Оны әдепкі каталогқа әдепкі параметрлермен орнатыңыз, бірақ VisualStudio біріктіру параметрін өшіріңіз. GPU драйвері жаңартылады және қажет болған жағдайда қайта іске қосылады.

Cmd (Win + R) командасын іске қосыңыз

Келесі команда nvcc нұсқасын тексереді және оның жол ортасы айнымалысына орнатылуын қамтамасыз етеді.

nvcc - нұсқасы

Https://developer.nvidia.com/cudnn сайтына өтіңіз (мүшелік қажет).

Кіргеннен кейін жүктеп алыңыз:

cuDNN v7.3.1 Windows үшін кітапхана [сіздің нұсқаңыз] мен үшін Windows 10. Жүктелген қалтаға өтіп, zip файлын шығарыңыз.

Шығарылған қалтаға өтіп, cuda папкасынан барлық файлдар мен қалталарды көшіріңіз (мысалы, bin, include, lib) және оларды «C: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v10.0» қойыңыз « бір.

Соңғы қадам -% PATH% ортаның айнымалысына «C: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v10.0 \ extras \ CUPTI \ libx64» қосыңыз.

7-қадам: құрастыру ортасын теңшеу

Бастау мәзірінен VC ++ 2015 қабығын x64 үшін бастаңыз («VS2015 x64 Native Tools» командалық шақыруы »).

Содан кейін сізге Python ортасын құру, белсендіру және конфигурациялау қажет. Келесі қабықша командаларын «VS2015 x64 жергілікті құралдардың командалық шақыруында» орындаңыз (жолдарға өз позицияларыңызға сәйкес түзетіңіз).

pip3 орнату -U виртуалды
virtualenv --system-site-packages C: \ Users \ amsokol \ tensorflow-v1.11
C: \ Users \ amsokol \ tensorflow-v1.11 \ Scripts \ activate.bat

Қолданылған командалардан кейін сіздің қабығыңыз келесідей болуы керек:

Міндетті Python пакеттерін орнатыңыз:

pip3 алты дөңгелекті орнатады
pip3 install keras_applications == 1.0.5 - no-deps
pip3 install keras_preprocessing == 1.0.3 - no-deps

Міндетті пакеттердің орнатылғанына көз жеткізу үшін «pip3 тізімін» іске қосыңыз:

Әзірге бәрі. Тостақты жаппаңыз.

8-қадам: TensorFlow бастапқы кодын клондап, міндетті түзетуді қолданыңыз

Алдымен TensorFlow бастапқы кодын көшіру қажет қалтаны таңдау керек. Менің жағдайда бұл «C: \ Users \ amsokol \ Development \ tensorflow-build». Қабыққа оралып, іске қосыңыз:

CD C: \ Users \ amsokol \ Development \ tensorflow-build

Клонның бастапқы коды:

Git клоны https://github.com/tensorflow/tensorflow

Тапсырыстың соңғы нұсқасы 1.11:

CD тензорфлоғы
git checkout v1.11.0

Қазір бізде ақпарат көздері бар.

Жеке кітапханада BUG бар. Біз оны салмас бұрын жөндеп алуымыз керек.
  • Патчты мына жерден жүктеп алыңыз және eigen_half.patch файл атауымен үшінші_партия қалтасына сақтаңыз.
  • Patch_file = clean_dep («// third_party: eigen_half.patch»), tensorflow / workspace.bzl файлының «eigen_archive» бөліміне жол қосыңыз.

Tensorflow / workspace.bzl файлындағы нәтиже келесідей болуы керек:

... tf_http_archive (name = «eigen_archive», URL = [«https://mirror.bazel.build/bitbucket.org/eigen/eigen/get/fd6845384b86.tar.gz», «https://bitbucket.org /eigen/eigen/get/fd6845384b86.tar.gz «,], sha256 =» d956415d784fa4e42b6a2a45c32556d6aec9d0a3d8ef48baee2522ab762556a9 «, strip_prefix», strip_prefix («// үшінші_ партия: eigen_half.patch»),) ...

Дайын

9-қадам: құрастыру параметрлерін конфигурациялау

Бастапқы кодтың түбірлік қалтасында екендігімізді тексеріңіз:

CD C: \ Users \ amsokol \ Development \ tensorflow-build \ tensorflow

Конфигураторды іске қосыңыз:

python ./configure.py

Алдымен сізден Python орнын сұрайды. Әдепкі мәнді сақтау үшін Enter пернесін басыңыз:

... сіз 0.17.2 базелін орнаттыңыз.
Python орналасқан жерін көрсетіңіз. [Стандарт - C: \ Users \ amsokol \ tensorflow-v1.11 \ Scripts \ python.exe]:

Содан кейін сізден Python кітапханасына жол сұралады. Әдепкі мәнді сақтау үшін Enter пернесін басыңыз:

Бақылау (соңғы қоңырау соңғы): файл « «, 1-жол, in AttributeError: 'Site' модулінде 'getsitepackages' атрибуты жоқ, мүмкін Python кітапханасының жолдары табылды: C: \ Users \ amsokol \ tensorflow-v1.11 \ Lib \ site-packages Python кітапханасының қажетті жолын енгізіңіз. Стандарт - [C: \ Users \ amsokol \ tensorflow-v1.11 \ Lib \ site-packages]

Сонда сізден nGraph қолдауы сұралады. Бұл бізге қажет емес. «N» пернесін басыңыз:

NGraph қолдауымен TensorFlow құрғыңыз келе ме? [Y / N]: n nGraph қолдау TensorFlow үшін белсендірілмеген.

Содан кейін CUDA қолдауын сұрайды:

CUDA қолдауымен TensorFlow құрғыңыз келе ме? [Y / N]:

Егер сіз GPU үдеуін қолданғыңыз келсе, «y» деп жауап беріңіз. Әйтпесе, «n» пернесін басыңыз.

Егер CUDA конфигураторы үшін иә болса, қосымша сұрақтар қойылады:
CUDA SDK нұсқасы ретінде 10.0 жауап:
Пайдаланғыңыз келетін CUDA SDK нұсқасын көрсетіңіз. [Әдепкі бойынша CUDA 9.0 пайдалану үшін бос қалдырыңыз]: 10.0
CUDA құралдар жинағының әдепкі орнынан шығу үшін Enter пернесін басыңыз:
CUDA 10.0 құралдар жинағы орнатылған орынды көрсетіңіз. Қосымша ақпарат алу үшін README.md сайтын қараңыз. [Әдепкі C: / Programs / NVIDIA GPU Computing Toolkit / CUDA / v10.0]:
7.3.1 нұсқасы cuDNN нұсқасы ретінде:
Қажетті cuDNN нұсқасын көрсетіңіз. [Әдепкі бойынша cuDNN 7.0 пайдалану үшін бос қалдырыңыз]: 7.3.1
Әдепкі cuDNN кітапханасының орнынан шығу үшін Enter пернесін басыңыз:
CuDNN 7 кітапханасы орнатылған орынды енгізіңіз. Қосымша ақпарат алу үшін README.md сайтын қараңыз. [Әдепкі C: / Programs / NVIDIA GPU Computing Toolkit / CUDA / v10.0]:
Келесі сұрақ CUDA арифметикалық функцияларына қатысты, оларды құрастыруға болады. Құрылғының есептеу қабілеттілігін мына сілтеме бойынша таба аласыз: https://developer.nvidia.com/cuda-gpus. Менде GTX 1070 бар, сондықтан мен 6.1-ге жауап беремін:
Құрғыңыз келетін үтірмен бөлінген Cuda математикалық функцияларының тізімін беріңіз. Құрылғының есептеу қабілеттілігін мына сілтеме бойынша таба аласыз: https://developer.nvidia.com/cuda-gpus. Әрбір қосымша есептеу функциясы жасау уақыты мен екілік өлшемді едәуір арттыратынын ескеріңіз. [Әдепкі мәні: 3.5.7.0]: 6.1

Келесі сұрақ - оңтайландыру жалаушаларын орнату. Менде 6-шы буын Intel процессоры бар, сондықтан мен жауап беремін / arch: AVX2:

Егер «--config = opt» Базель опциясы көрсетілген болса, компиляция кезінде қолданылатын оңтайландыру жалаушаларын көрсетіңіз. [Әдепкі мәні / arch: AVX]: / arch: AVX2

Соңғы сұрақ Эйген туралы. «Y» деп жауап беріңіз. Бұл компиляция уақытын күрт қысқартады.

Компиляция уақытын қысқарту үшін кейбір C ++ компиляцияларына арналған өзіңіздің мықты сызығыңызды жоққа шығарғыңыз келе ме? [Y / n]: Y Eigen ішінара қатты жазылады.

Конфигурация аяқталды. Құрайық.

10-қадам: көздерден TensorFlow құру

Бастапқы кодтың түбірлік қалтасында екендігімізді тексеріңіз:

CD C: \ Users \ amsokol \ Development \ tensorflow-build \ tensorflow
Оны жасау ұзақ уақытты алады. Мен Windows Defender Antivirus нақты уақыт режимінде қорғауды қоса, антивирустық бағдарламалық жасақтаманы өшіруге кеңес беремін.

Құрылысты орындау:

bazel build --config = opt // tensorflow / tools / pip_package: build_pip_package

Артқа отырыңыз және біраз уақыт демалыңыз.

11-қадам: Python 3.6 үшін TensorFlow дөңгелегі файлын жасаңыз

Python дөңгелегі файлын жасау үшін команданы іске қосыңыз:

mkdir .. \ out
bazel-bin \ tensorflow \ tools \ pip_package \ build_pip_package .. \ out

Бұл сәтсіз:

Белгілі мәселе бар. «Bazel-bin \ tensorflow \ tools \ pip_package» қалтасын қараңыз. Онда нөлдік ұзындықтағы «simple_console_for_windows.zip» файлы бар. Мәселе осында. Bazel-де 32 биттік zip утилитасы бар, ол 2 Гбайттан үлкен файлда істен шығады. Мәліметтер мен уақытша шешімдер үшін сілтемелерді қараңыз:

  • https://github.com/tensorflow/tensorflow/issues/20332
  • https://stackoverflow.com/questions/52394305/creating-pip-package-for-tensorflow-with-gpu-support-results-in-0-byte-simple-co

Ақаулықты жоюға арналған қадамдар бар:

CD. \ bazel-bin \ tensorflow \ tools \ pip_package

«Simple_console_for_windows.zip-0.params» файлын ашып, жолды «mnist.zip» арқылы алып тастаңыз:

...
runfiles / org_tensorflow / tensorflow / contrib / eager / python / мысалдары / gan / mnist.zip = bazel-out / x64_windows-opt / bin / tensorflow / contrib / eager / python / мысалдары / gan / mnist.zip
...
Бұл маған көмектеседі. Егер бұл сізге көмектеспесе, басқа жолдарды zip файлдарымен алып тастаңыз (толық мәліметтерді мына жерден қараңыз). Бұл әрекеттің мақсаты - simple_console_for_windows.zip ұзындығы 2 ГБ-тан аз болуы.

«Simple_console_for_windows.zip» бос файлын жойыңыз.

Әрі қарай, үй папкаңызды қарап шығыңыз. Сізге «_bazel_» деген қалтаны табу керек «Қараңыз. Менің жағдайда бұл» _bazel_amsokol «. Құрамында файлдар бар қалталар бар. Менің жағдайда ол» lx6zoh4k «. Орынның қабығына оралу (сіздің папкаларыңыздың аттарына сәйкес):

CD C: \ Users \ amsokol \ _bazel_amsokol \ lx6zoh4k \ execroot \ org_tensorflow

«Simple_console_for_windows.zip» файлын қолмен жасаңыз:

сыртқы \ bazel_tools \ tools \ zip \ zipper \ zipper.exe vcC bazel-out / x64_windows-opt / bin / tensorflow / tools / pip_package / simple_console_for_windows.zip @ bazel-out / x64_windows-opt / bin / tensorflow / tools / pip_package / Windows_zip-0.params үшін қарапайым_консоль_

Python дөңгелегі файлын жасау үшін команданы іске қосыңыз:

CD C: \ Users \ amsokol \ Development \ tensorflow-build \ tensorflow
bazel-bin \ tensorflow \ tools \ pip_package \ build_pip_package .. \ out

Ол tensorflow-1.11.0-cp36-cp36m-win_amd64.whl файлын «.. \ out» қалтасында жасайды.

12-қадам: Python 3.6 арналған TensorFlow дөңгелегі файлын орнатыңыз және нәтижені тексеріңіз

Python Wheel файлын орнату үшін команданы іске қосыңыз:

pip3 install .. \ out \ tensorflow-1.11.0-cp36-cp36m-win_amd64.whl

Tensorflow каталогынан шығыңыз

CD ..

Жүктеу сценарийін осы жерден тексеру немесе көшіру және қою арқылы іске қосу үшін:

Tensorflow-ті tf hello = tf.constant ретінде импорттаңыз ('Сәлем, TensorFlow!') Session = tf.Session () print (session.run (сәлем))

Егер жүйе келесі нәтижелерді шығарса, бәрі жақсы:

Сәлем TensorFlow!

Менің шығысым:

Енді Windows компьютерінде TensorFlow-ты сәтті орнаттыңыз.

Төмендегі түсініктемелерде ол сізге жұмыс істейтін болса, маған хабарлаңыз. Немесе сізде қандай да бір кемшіліктер болса. Көп рақмет!