[Nuashonrú 1] TensorFlow GPU / CPU a chruthú agus a shuiteáil do Windows ón gcód foinse le Bazel agus Python 3.6

Seo nuashonrú ar mo scéal roimhe seo. Cad atá nua anseo:

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

Tá treoracha ar an suíomh oifigiúil. Níl sé an-chuimsitheach, ach bíonn sé úsáideach uaireanta.

Achoimre

  1. Suiteáil Git do Windows
  2. Suiteáil Bazel
  3. Suiteáil MSYS2 x64 agus uirlisí líne ordaithe
  4. Suiteáil Uirlisí Tógála Visual Studio 2017, lena n-áirítear Uirlisí Tógála Visual Studio 2015
  5. Suiteáil Python 3.6 64-giotán
  6. Suiteáil NVIDIA CUDA 10.0 agus cuDNN 7.3 (le haghaidh luasghéarú GPU)
  7. Cumraigh an timpeallacht tógála
  8. Clónáil an cód foinse TensorFlow v1.11 agus cuir an paiste éigeantach i bhfeidhm
  9. Cumraigh na paraiméadair tógála
  10. Tóg TensorFlow ó fhoinsí
  11. Cruthaigh comhad roth TensorFlow do Python 3.6
  12. Suiteáil an comhad roth TensorFlow do Python 3.6 agus seiceáil an toradh

Céim 1: Suiteáil Git do Windows

Íoslódáil agus suiteáil Git do Windows. Glacaim anseo é. Déan cinnte go bhfuil an cosán chuig git.exe curtha leis an athróg timpeallachta% PATH%. Tá Git á shuiteáil agam ar an

C: \ Bin \ Git

Fillteán don rang teagaisc seo.

Céim 2: Suiteáil MSYS2 x64 agus Uirlisí Líne Ordaithe

Íoslódáil agus suiteáil an dáileadh 64-giotán anseo. Úsáideann Bazel grep, paiste, unzipand, agus calafoirt eile ó uirlisí Unix chun foinsí a thógáil. Is féidir leat iarracht a dhéanamh binaries neamhspleácha a aimsiú do gach ceann acu, ach is fearr liom an beartán MSYS2 a úsáid. Suiteáilim é ar an

C: \ Bin \ msys64

Fillteán don rang teagaisc seo. Ní mór duit fillteán uirlisí a chur leis an athróg timpeallachta% PATH%. Is é mo chás "C: \ Bin \ msys64 \ usr \ bin".

Cuir tús leis an nasc "MSYS2 MinGW 64-Bit" tríd an roghchlár tosaigh. Chun nuashonrú a dhéanamh, rith an t-ordú seo a leanas (atosaigh MSYS2 MinGW 64-bit nuair a spreagtar é):

Pacman Syu

Ansin rith:

Pacman -Su

Teastaíonn uirlisí suiteála don tógáil:

Unzip an paiste Pacman

Dún an MSYS2 MinGW 64-Bit-Shell leis an ordú "scoir". Níl sé de dhíth orainn níos mó.

Céim 3: Suiteáil Uirlisí Tógála Visual Studio 2017, lena n-áirítear Uirlisí Tógála Visual Studio 2015

Ní mór dúinn an VC ++ 2015.3 v14.00 (v140) a shuiteáil le haghaidh uirlisí deisce ó Visual Studio 2017 Build Tools chun TensorFlow v1.11 a thógáil:

Céim 4: suiteáil Bazel

Íoslódáil an Basel is déanaí anseo. Cuardaigh an comhad bazel- -windows-x86_64.exe. Rinne mé tástáil ar an rang teagaisc seo le Bazel 0.17.2. Athainmnigh an dénártha go bazel.exe agus bog é go eolaire ar% PATH% ionas gur féidir leat Bazel a rith trí bazel a chlóscríobh in aon eolaire. Le haghaidh sonraí maidir le Bazel a shuiteáil do Windows x64, féach fadhbanna le do thoil.

Cuir an athróg timpeallachta domhanda BAZEL_SH leis an suíomh bash. Is é mo bhealach

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

Cuir an athróg timpeallachta domhanda BAZEL_VC leis an tacar uirlisí "VC ++ 2015.3 v14.00 (v140) don deasc":

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

Céim 5: Suiteáil Python 3.6 64-giotán

Ní thacaíonn TensorFlow le Python 3.7, mar sin beidh ort leagan 3.6 a shuiteáil.
Tá an chuma air nach dtacaíonn TensorFlow v1.11 le Anaconda / Miniconda le haghaidh tógála - tá botún aisteach á fháil agam. Sin é an fáth go n-úsáideann mé timpeallacht fhíorúil Python chun a chruthú.

Tá Python 3.6 ar fáil le híoslódáil anseo. Suiteáil é agus cuir an suíomh python.exe leis an athróg% PATH%.

Céim 6: Suiteáil NVIDIA CUDA 10.0 agus cuDNN 7.3 (le haghaidh luasghéarú GPU)

Tá an chuid seo reatha má tá cárta grafaicí NVIDIA agat a thacaíonn le CUDA. Seachas sin, scipeáil an chuid seo.
Tá suiteáil céim ar chéim de CUDA ar fáil anseo má theastaíonn cabhair uait. Tá an treoir seo á cóipeáil agam ach ag gearradh amach roinnt sonraí.

Téigh chuig https://developer.nvidia.com/cuda-downloads agus íoslódáil an suiteálaí CUDA 10.0 do Windows [do leagan]. Maidir liom féin is é Windows 10 an leagan.

Suiteáil é san eolaire réamhshocraithe leis na socruithe réamhshocraithe, ach díchumasaigh an rogha comhtháthaithe VisualStudio. Déanfar tiománaí an GPU a nuashonrú agus a atosú más gá.

Rith an t-ordú cmd (Win + R)

Seiceálann an t-ordú seo a leanas leagan de nvcc agus cinntíonn sé go bhfuil sé socraithe san athróg timpeallachta cosáin.

nvcc --version

Téigh chuig https://developer.nvidia.com/cudnn (ballraíocht ag teastáil).

Tar éis logáil isteach, íoslódáil:

cuDNN v7.3.1 Leabharlann do Windows [do leagan] domsa Windows 10. Téigh go dtí an fillteán a d’íoslódáil tú agus bain an comhad zip.

Téigh go dtí an fillteán eastósctha agus cóipeáil gach comhad agus fillteán ón bhfillteán cuda (e.g. bosca bruscair, cuir san áireamh, lib) agus greamaigh iad i "C: \ Program Files \ NVIDIA GPU Computer Computer Toolk \ CUDA \ v10.0 "ceann.

Is é an chéim dheiridh ná "C: \ Program Files \ NVIDIA GPU Computer Computer Toolkit \ CUDA \ v10.0 \ extras \ CUPTI \ libx64" a chur leis an athróg timpeallachta% PATH%.

Céim 7: cumraigh an timpeallacht tógála

Cuir tús le blaosc VC ++ 2015 le haghaidh x64 (aicearra “VS2015 x64 Dúchasach Uirlisí Dúchasacha go pras”) ón roghchlár tosaigh.

Ansin, ní mór duit timpeallacht Python a chruthú, a ghníomhachtú agus a chumrú. Na horduithe sliogáin seo a leanas a fhorghníomhú sa "Pras Ordú Uirlisí Dúchasacha VS2015 x64" (ceartaigh na cosáin de réir do shuímh).

pip3 install -U virtualenv
virtualenv --system-site-pacáistí C: \ Úsáideoirí \ amsokol \ tensorflow-v1.11
C: \ Úsáideoirí \ amsokol \ tensorflow-v1.11 \ Scripteanna \ activ.bat

Ba chóir go mbeadh an chuma ar do bhlaoscán tar éis na horduithe a chur i bhfeidhm:

Suiteáil na pacáistí éigeantacha Python:

pip3 shuiteáil sé roth numpy
pip3 install keras_applications == 1.0.5 --no-deps
pip3 install keras_preprocessing == 1.0.3 --no-deps

Rith "liosta pip3" chun a chinntiú go bhfuil na pacáistí éigeantacha suiteáilte:

Sin uile anois. Ná dún an babhla.

Céim 8: Clónáil cód foinse TensorFlow agus cuir an paiste éigeantach i bhfeidhm

Ar dtús, ní mór duit an fillteán a roghnú inar mian leat cód foinse TensorFlow a chlónáil. Is é mo chás gurb é "C: \ Users \ amsokol \ Development \ tensorflow-build". Ar ais go dtí an bhlaosc agus rith:

cd C: \ Úsáideoirí \ amsokol \ Development \ tensorflow-build

Cód foinse clón:

Git clón https://github.com/tensorflow/tensorflow

Seiceáil an leagan is déanaí 1.11:

cd tensorflow
seiceáil git v1.11.0

Anois tá foinsí againn.

Tá BUG ina leabharlann tríú páirtí féin. Caithfimid é a shocrú sula dtógfar é.
  • Íoslódáil an paiste anseo agus sábháil é leis an ainm comhaid eigen_half.patch san fhillteán third_party
  • Cuir patch_file = clean_dep ("// third_party: eigen_half.patch"), líne leis an gcuid "eigen_archive" den chomhad tensorflow / workspace.bzl.

Ba cheart go mbeadh an chuma ar an toradh sa chomhad tensorflow / workspace.bzl:

... tf_http_archive (name = "eigen_archive", urls = ["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 ("// third_party: eigen_half.patch"),) ...

Arna dhéanamh.

Céim 9: cumraigh na paraiméadair tógála

Déan cinnte go bhfuil muid i bhfillteán fréimhe an chóid foinse:

cd C: \ Úsáideoirí \ amsokol \ Development \ tensorflow-build \ tensorflow

Rith an cumraíochta:

python ./configure.py

I dtosach iarrfar ort suíomh Python. Brúigh Iontráil chun an luach réamhshocraithe a choinneáil:

... tá bazel 0.17.2 suiteáilte agat.
Sonraigh suíomh Python. [Is é an caighdeán C: \ Úsáideoirí \ amsokol \ tensorflow-v1.11 \ Scripteanna \ python.exe]:

Iarrfar ort ansin an cosán go leabharlann Python. Brúigh Iontráil chun an luach réamhshocraithe a choinneáil:

Rianú (an glao deireanach deireanach): comhad " ", Líne 1, in AttributeError: Modúl Níl aon tréith ag 'Suíomh' 'getitepackages' Faightear bealaí féideartha leabharlainne Python: C: \ Úsáideoirí \ amsokol \ tensorflow-v1.11 \ Lib \ site-pacáistí Cuir isteach an cosán leabharlainne Python atá ag teastáil. Is é an caighdeán [C: \ Users \ amsokol \ tensorflow-v1.11 \ Lib \ site-pacáistí]

Ansin iarrfar ort tacaíocht ó nGraph. Níl sé de dhíth orainn. Brúigh "n":

Ar mhaith leat TensorFlow a thógáil le tacaíocht nGraph? [Y / N]: n Ní ghníomhaítear tacaíocht nGraph do TensorFlow.

Ansin iarrann sé tacaíocht ó CUDA:

Ar mhaith leat TensorFlow a thógáil le tacaíocht CUDA? [Y / N]:

Freagair "y" más mian leat luasghéarú GPU a úsáid. Seachas sin, brúigh "n".

Má tá, don chumraitheoir CUDA, cuirtear ceisteanna breise:
Freagair 10.0 mar leagan CUDA SDK:
Léirigh an leagan CUDA SDK a theastaíonn uait a úsáid. [Fág bán go réamhshocraithe chuig CUDA 9.0]: 10.0
Brúigh Iontráil chun an suíomh réamhshocraithe uirlisí uirlisí CUDA a fhágáil:
Sonraigh le do thoil an áit ina bhfuil foireann uirlisí CUDA 10.0 suiteáilte. Féach README.md le haghaidh tuilleadh faisnéise. [Réamhshocrú is ea C: / Cláir / Foireann Uirlisí Ríomhaireachta GPU NVIDIA / CUDA / v10.0]:
Freagair 7.3.1 mar leagan cuDNN:
Léirigh an leagan cuDNN atá uait. [Fág bán chun cuDNN 7.0 a úsáid de réir réamhshocraithe]: 7.3.1
Brúigh Iontráil chun an suíomh réamhshocraithe leabharlainne cuDNN a fhágáil:
Cuir isteach an áit ina bhfuil an leabharlann cuDNN 7 suiteáilte. Féach README.md le haghaidh tuilleadh faisnéise. [Réamhshocrú is ea C: / Cláir / Foireann Uirlisí Ríomhaireachta GPU NVIDIA / CUDA / v10.0]:
Baineann an chéad cheist eile le feidhmeanna uimhríochta CUDA is féidir a úsáid chun tógáil. Is féidir leat acmhainn ríomhaireachta do ghléis a fháil ag: https://developer.nvidia.com/cuda-gpus. Tá GTX 1070 agam agus mar sin freagraím 6.1:
Tabhair liosta de na feidhmeanna matamaitice Cuda atá scartha le camóga ar mhaith leat tógáil leo. Is féidir leat acmhainn ríomhaireachta do ghléis a fháil ag: https://developer.nvidia.com/cuda-gpus. Tabhair faoi deara le do thoil go méadaíonn gach feidhm ríofa breise an t-am cruthaithe agus an méid dénártha go mór. [Réamhshocrú is ea: 3.5.7.0]: 6.1

Is í an chéad cheist eile bratacha optamaithe a shocrú. Tá LAP Intel ón 6ú glúin agam, mar sin freagraím / áirse: AVX2:

Sonraigh bratacha optamaithe le húsáid le linn tiomsú má shonraítear rogha Basel "--config = opt". [Réamhshocrú is / arch: AVX]: / arch: AVX2

Tá an cheist dheireanach faoi Eigen. Freagair le "y". Laghdaíonn sé go mór an t-am a thiomsú.

Ar mhaith leat do líne láidir féin a shárú le haghaidh roinnt tiomsúchán C ++ chun an t-am tiomsúcháin a laghdú? [Y / n]: Y Eigen ró-scríofa go láidir inlíne.

Cumraíocht críochnaithe. A ligean ar thógáil.

Céim 10: TensorFlow a thógáil ó fhoinsí

Déan cinnte go bhfuil muid i bhfillteán fréimhe an chóid foinse:

cd C: \ Úsáideoirí \ amsokol \ Development \ tensorflow-build \ tensorflow
Tógann sé tamall fada le cruthú. Molaim go láidir bogearraí frithvíreas a mhúchadh lena n-áirítear cosaint fhíor-ama Windows Defender Antivirus.

Tógáil forghníomhaitheach:

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

Suigh siar agus scíth a ligean ar feadh tamaill.

Céim 11: cruthaigh comhad roth TensorFlow do Python 3.6

Rith an t-ordú chun comhad roth python a chruthú:

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

Teipeann air:

Tá fadhb ar eolas. Féach ar an bhfillteán "bazel-bin \ tensorflow \ tools \ pip_package". Tá an comhad "simple_console_for_windows.zip" ann le fad nialas. Sin í an fhadhb. Cuimsíonn Bazel fóntais zip 32-giotán a theipfidh ar chomhad 2GB níos mó. Féach naisc le haghaidh sonraí agus obair:

  • 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

Tá céimeanna ann chun an fhadhb a réiteach:

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

Oscail an comhad "simple_console_for_windows.zip-0.params" agus bain an líne le "mnist.zip":

...
runfiles / org_tensorflow / tensorflow / cyfran / fonn / python / samplaí / gan / mnist.zip = bazel-out / x64_windows-opt / bin / tensorflow / cyfran / fonn / python / samplaí / gan / mnist.zip
...
Cabhraíonn sé liom. Mura gcabhraíonn sé leat, bain línte eile le comhaid zip (féach na sonraí anseo). Is é cuspóir na gníomhaíochta seo simplí_console_for_windows.zip a choinneáil chun a bheith níos lú ná 2 GB ar fhad.

Scrios an comhad folamh "simple_console_for_windows.zip".

Ansin, féach ar d’fhillteán baile. Ní mór duit an fillteán darb ainm "_bazel_ a fháil "Féach. Is é" _bazel_amsokol "i mo chás. Tá fillteáin ann le comhaid thógála. Is é mo chás" lx6zoh4k ". Ar ais go dtí an bhlaosc rith (de réir ainmneacha do fhillteáin i gceart):

cd C: \ Úsáideoirí \ amsokol \ _bazel_amsokol \ lx6zoh4k \ execroot \ org_tensorflow

Cruthaigh an comhad "simple_console_for_windows.zip" de láimh:

seachtracha \ 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 / simple_console_for_windows.zip-0.params

Rith an t-ordú chun comhad roth python a chruthú:

cd C: \ Úsáideoirí \ amsokol \ Development \ tensorflow-build \ tensorflow
bazel-bin \ tensorflow \ tools \ pip_package \ build_pip_package .. \ amach

Cruthaíonn sé an comhad tensorflow-1.11.0-cp36-cp36m-win_amd64.whl san fhillteán ".. \ amach".

Céim 12: suiteáil an comhad roth TensorFlow do Python 3.6 agus seiceáil an toradh

Rith an t-ordú chun an comhad Roth Python a shuiteáil:

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

Scoir an eolaire Tensorflow

cd ..

Chun an script íoslódála a sheiceáil anseo nó é a rith trí chóip agus greamaigh:

Iompórtáil Tensorflow mar tf hello = tf.constant ('Dia duit, TensorFlow!') Seisiún = tf.Session () cló (session.run (Dia duit))

Má aschuir an córas an méid seo a leanas, tá gach rud go breá:

Dia duit TensorFlow!

Mo aschur:

D'éirigh leat TensorFlow a shuiteáil ar ríomhaire Windows anois.

Cuir in iúl dom sna tráchtanna thíos má d’oibrigh sé duitse. Nó má tá aon lochtanna ort. Go raibh míle maith agat!