[Ажурирање 1] Како да направите и инсталирате ТенсорФлов ГПУ / ЦПУ за Виндовс из изворног кода користећи базел и Питхон 3.6

Ово је ажурирање за моју претходну причу. Шта је ново овде:

  • ТенсорФлов в1.11
  • ЦУДА в10.0
  • цуДНН в7.3

На званичном сајту постоји водич. Понекад није баш свеобухватан, али је користан.

Резиме

  1. Инсталирајте Гит за Виндовс
  2. Инсталирајте Базел
  3. Инсталирајте алате МСИС2 к64 и командне линије
  4. Инсталирајте Висуал Студио 2017 Буилд Тоолс, укључујући Висуал Студио 2015 Буилд Тоолс
  5. Инсталирајте Питхон 3.6 64-бит
  6. Инсталирајте НВИДИА ЦУДА 10.0 и цуДНН 7.3 (за убрзање ГПУ-а)
  7. Конфигуришите окружење за изградњу
  8. Клонирајте ТенсорФлов в1.11 изворни код и примените обавезну закрпу
  9. Конфигуришите параметре састављања
  10. Израдите ТенсорФлов из извора
  11. Направите ТенсорФлов фајл за Питхон 3.6
  12. Инсталирајте датотеку за точкове ТенсорФлов за Питхон 3.6 и проверите резултат

1. корак: Инсталирајте Гит за Виндовс

Преузмите и инсталирајте Гит за Виндовс. Ево га овде. Будите сигурни да је пут до гит.еке додан у променљиву околине% ПАТХ%. Инсталирам Гит на

Ц: \ Бин \ Гит

фолдер за овај туториал.

Корак 2: Инсталирајте алате МСИС2 к64 и наредбеног ретка

Овде преузмите и инсталирајте 64-битну дистрибуцију. Базел користи греп, патцх, распакивање и друге портове Уник-алата за изградњу извора. Можете да покушате да пронађете самосталне бинарне датотеке за сваки од њих, али ја више волим да користите МСИС2 пакет. Инсталирам га на

Ц: \ Бин \ мсис64

фолдер за овај туториал. Морате додати фасциклу са алаткама у променљиву околине% ПАТХ%. То је „Ц: \ Бин \ мсис64 \ уср \ бин“ у мом случају.

Покрените пречицу „МСИС2 МинГВ 64-бит“ из Старт менија. Покрените следећу команду да бисте је ажурирали (поново покрените „МСИС2 МинГВ 64-бит“ ако је захтева):

пацман -Сиу

Затим покрените:

пацман -Су

Инсталирајте алате потребне за изградњу:

пацман -С закрпа унзип

Затворите "МСИС2 64Г-бит" шкољку помоћу команде "екит". Не треба нам више.

Корак 3: Инсталирајте Висуал Студио 2017 алате за изградњу, укључујући Висуал Студио 2015 Буилд Тоолс

Морамо инсталирати „ВЦ ++ 2015.3 в14.00 (в140) сет алата за радну површину“ из Висуал Студио 2017 Буилд Тоолс да бисмо направили ТенсорФлов в1.11:

Корак 4: Инсталирајте Базел

Овде преузмите најновији Базел. Потражите датотеку базел- <версион> -виндовс-к86_64.еке. Овај туториал сам тестирао са базел 0.17.2. Преименујте бинарни фајл у базел.еке и премјестите га у директориј на вашем% ПАТХ%, тако да можете покренути Базел тако што ћете уписати базел у било који директориј. Погледајте детаље о Базел инсталацији за Виндовс к64 у случају проблема.

Додајте БАЗЕЛ_СХ глобалну променљиву околину за басх локацију. Мој пут је

Ц: Бин \ мсис64 \ уср \ бин \ басх.еке

Додајте БАЗЕЛ_ВЦ глобалну променљиву околину за „ВЦ ++ 2015.3 в14.00 (в140) сет алата за радну површину“ локацију ланца алата:

Ц: \ Програмске датотеке (к86) \ Мицрософт Висуал Студио 14.0 \ ВЦ

Корак 5: Инсталирајте Питхон 3.6 64-бит

ТенсорФлов не подржава Питхон 3.7, тако да морате инсталирати 3.6 верзију.
Изгледа да ТенсорФлов в1.11 више не подржава Анацонда / Миницонда за израду - добијам необичну грешку. Зато користим Питхон виртуелно окружење за изградњу.

Питхон 3.6 је доступан за преузимање овде. Инсталирајте га и додајте локацију питхон.еке променљивој% ПАТХ%.

Корак 6: Инсталирајте НВИДИА ЦУДА 10.0 и цуДНН 7.3 (за убрзање ГПУ-а)

Овај одељак је актуелан ако имате НВИДИА графичку картицу која подржава ЦУДА. У супротном прескочите овај одељак.
Погледајте корак по корак инсталирање ЦУДА-е ако вам је потребна помоћ. Копирам и залепим тај водич, али изрезујем неке детаље.

Идите на хттпс://девелопер.нвидиа.цом/цуда-довнлоадс и преузмите ЦУДА 10.0 Инсталлер за Виндовс [ваша верзија]. Верзија је за мене Виндовс 10.

Инсталирајте је на задану локацију са подразумеваним подешавањима, али поништите избор опције ВисуалСтудио за интеграцију. По потреби ће ажурирати ваш драјвер за ГПУ и поново покренути систем.

Идите да покренете (Вин + Р) тип цмд

Следећа наредба ће проверити за нвцц верзију и осигурати да је постављена у променљивој околини путање.

нвцц --верзија

Сљедеће идите на хттпс://девелопер.нвидиа.цом/цуднн (потребно је чланство).

Након пријављивања преузмите следеће:

цуДНН в7.3.1 Библиотека за Виндовс [ваша верзија] за мене Виндовс 10. Идите преузети мапу и извадите зип датотеку.

Уђите у извучену фасциклу и копирајте све датотеке и мапе из цуда фасцикле (нпр. Бин, инцлуде, либ) и залепите на "Ц: \ Програм Филес \ НВИДИА ГПУ Цомпутинг Тоолкит \ ЦУДА \ в10.0".

Завршни корак је додавање „Ц: \ Програм Филес \ НВИДИА ГПУ-овог рачунарског алата за рачунарство \ ЦУДА \ в10.0 \ ектрас \ ЦУПТИ \ либк64“ у променљиву околицу% ПАТХ%.

Корак 7: Конфигуришите окружење за изградњу

Покрените ВЦ ++ 2015 љуску за к64 (пречица „ВС2015 к64 Нативе Тоолс Цомманд Промпт“) из Старт менија.

Затим морате креирати, активирати и конфигурирати Питхон окружење. Покрените унутра наредбе „ВС2015 к64 Нативе Тоолс Цомманд Промпт“ (исправите путање према вашим локацијама).

пип3 инсталл -У виртуаленв
виртуаленв - системски систем-пакети Ц: \ Усерс \ амсокол \ тенсорфлов-в1.11
Ц: \ Корисници \ амсокол \ тенсорфлов-в1.11 \ Скрипте \ ацтивате.бат

Ваша би шкољка требала изгледати тако након примјене команди:

Инсталирајте обавезне Питхон пакете:

пип3 инсталирајте шест топота
пип3 инсталирај керас_апплицатионс == 1.0.5 --но-депс
пип3 инсталирај керас_препроцессинг == 1.0.3 --но-депс

Покрените „пип3 листу“ да бисте осигурали да су обавезни пакети инсталирани:

То је све за сада. Не затворите шкољку.

Корак 8: Клонирајте ТенсорФлов изворни код и примените обавезну закрпу

Пре свега, морате да изаберете фасциклу где да клонирате ТенсорФлов изворни код. У мом случају то је „Ц: \ Усерс \ амсокол \ Девелопмент \ тенсорфлов-буилд“. Назад у шкољку и покрените:

цд Ц: \ Усерс \ амсокол \ Девелопмент \ тенсорфлов-буилд

Клон изворног кода:

гит клон хттпс://гитхуб.цом/тенсорфлов/тенсорфлов

Најновија верзија од 1.11:

цд тенсорфлов
гит цхецкоут в1.11.0

Сада имамо изворе.

Постоји БУГ у библиотеци других произвођача. Морамо да га поправимо пре израде.
  • Преузмите овде закрпу и сачувајте је са именом датотеке еиген_халф.патцх у мапу Тхирд_парти
  • Додајте патцх_филе = цлеан_деп ("// Тхирд_парти: еиген_халф.патцх"), ред у еиген_арцхиве одељак у датотеку тенсорфлов / воркспаце.бзл.

Резултат у датотеци тенсорфлов / воркспаце.бзл би требао бити такав:

...
тф_хттп_арцхиве (
  наме = "еиген_арцхиве",
  урлс = [
"хттпс://миррор.базел.буилд/битбуцкет.орг/еиген/еиген/гет/фд6845384б86.тар.гз",
    "хттпс://битбуцкет.орг/еиген/еиген/гет/фд6845384б86.тар.гз",
   ],
сха256 = "д956415д784фа4е42б6а2а45ц32556д6аец9д0а3д8еф48баее2522аб762556а9",
  стрип_префик = "еиген-еиген-фд6845384б86",
  буилд_филе = цлеан_деп ("// Тхирд_парти: еиген.БУИЛД"),
  патцх_филе = цлеан_деп ("// Тхирд_парти: еиген_халф.патцх"),
)
...

Готово.

Корак 9: Конфигуришите параметре израде

Уверите се да се налазимо у матичној мапи изворног кода:

цд Ц: \ Усерс \ амсокол \ Девелопмент \ тенсорфлов-буилд \ тенсорфлов

Покрените конфигуратор:

питхон ./цонфигуре.пи

Прво пита локацију Питхона. Притисните Ентер да бисте напустили задану вредност:

...
Инсталирани сте базел 0.17.2.
Молимо наведите локацију питона. [Подразумевано је Ц: \ Усерс \ амсокол \ тенсорфлов-в1.11 \ Сцриптс \ питхон.еке]:

Тада се тражи локација Питхон библиотеке стаза. Притисните Ентер да бисте напустили задану вредност:

Трацебацк (најновији задњи позив):
  Датотека "<стринг>", ред 1, у <модуле>
АттрибутеЕррор: модул 'сите' нема атрибут 'гетитепацкагес'
Пронађени су могући путеви библиотеке Питхон-а:
  Ц: \ Усерс \ амсокол \ тенсорфлов-в1.11 \ Либ \ сите-пакети
Унесите жељени пут библиотеке Питхон-а који желите користити. Подразумевано је [Ц: \ Усерс \ амсокол \ тенсорфлов-в1.11 \ Либ \ сите-пакети]

Затим се пита о подршци нГрапх. Не требају нам. Притисните „н“:

Да ли желите да направите ТенсорФлов уз нГрапх подршку? [и / Н]: н
Ниједна подршка нГрапх неће бити омогућена за ТенсорФлов.

Затим се пита о подршци за ЦУДА:

Да ли желите да изградите ТенсорФлов уз подршку ЦУДА? [и / Н]:

Одговорите "и" ако желите да користите убрзање ГПУ-а. У супротном притисните „н“.

У случају да за конфигурацију ЦУДА поставите додатна питања:
Одговорите 10.0 као верзија ЦУДА СДК:
Наведите верзију ЦУДА СДК коју желите да користите. [Пустите празно на задано на ЦУДА 9.0]: 10.0
Притисните Ентер да бисте напустили задану локацију ЦУДА алата:
Молимо наведите локацију на којој је инсталиран алат ЦУДА 10.0. Погледајте РЕАДМЕ.мд за више детаља. [Подразумевано је Ц: / Програм Филес / НВИДИА ГПУ Цомпутинг Тоолкит / ЦУДА / в10.0]:
Одговор 7.3.1 као верзија цуДНН:
Молимо наведите верзију цуДНН коју желите да користите. [Оставите празно до задане вредности за цуДНН 7.0]: 7.3.1
Притисните Ентер да бисте напустили задану локацију цуДНН библиотеке:
Молимо наведите локацију где је инсталирана књижница цуДНН 7. Погледајте РЕАДМЕ.мд за више детаља. [Подразумевано је Ц: / Програм Филес / НВИДИА ГПУ Цомпутинг Тоолкит / ЦУДА / в10.0]:
Следеће питање је о ЦУДА рачунским могућностима за изградњу. Могућност рачунања свог уређаја можете пронаћи на: хттпс://девелопер.нвидиа.цом/цуда-гпус. Имам ГТКС 1070 и зато одговарам 6.1:
Наведите листу могућности рачунања Цуда рачунања раздвојених зарезима са којима желите градити.
Могућност рачунања свог уређаја можете пронаћи на: хттпс://девелопер.нвидиа.цом/цуда-гпус.
Имајте на уму да свака додатна могућност рачунања значајно повећава ваше време израде и бинарну величину. [Подразумевано је: 3,5,7.0]: 6.1

Следеће питање је постављање заставица за оптимизацију. Имам Интел процесор 6. генерације и зато одговарам / слажем: АВКС2:

Молимо наведите заставице за оптимизацију које ће се користити током компилације када је наведена опција базел "--цонфиг = опт" [Подразумевано је / арцх: АВКС]: / арцх: АВКС2

Последње питање је о еигену. Одговорите „и“. Значајно смањује време превођења.

Да ли желите да надјачате својствен снажни инлине за неку Ц ++ компилацију како бисте смањили време за компилацију? [И / н]: и
Еиген је снажан инлине.

Конфигурација је завршена. Нека гради.

Корак 10: Израдите ТенсорФлов из извора

Уверите се да се налазимо у матичној мапи изворног кода:

цд Ц: \ Усерс \ амсокол \ Девелопмент \ тенсорфлов-буилд \ тенсорфлов
Израда траје дуго времена. Топло препоручујем искључивање антивирусног софтвера, укључујући Виндовс Дефендер Антивирус заштиту у реалном времену.

Покрените изградњу:

базел буилд --цонфиг = опт // тенсорфлов / тоолс / пип_пацкаге: буилд_пип_пацкаге

Седите леђа и опустите се неко време.

Корак 11: Креирајте ТенсорФлов датотеку за точкове за Питхон 3.6

Покрените наредбу за креирање Питхон датотеке са точкићем:

мкдир .. \ оут
базел-канта \ тенсорфлов \ тоолс \ пип_пацкаге \ буилд_пип_пацкаге .. \ оут

Не успева:

Познато је питање. Погледајте мапу „базел-бин \ тенсорфлов \ тоолс \ пип_пацкаге“. Садржи датотеку „симпле_цонсоле_фор_виндовс.зип“ нулте дужине. То је проблем. Базел садржи зип услужни програм од 32 бита који не успева за датотеку 2 ГБ већу. Погледајте линкове за детаље и решење:

  • хттпс://гитхуб.цом/тенсорфлов/тенсорфлов/исиссуе/20332
  • хттпс://стацковерфлов.цом/куестионс/52394305/цреатинг-пип-пацкаге-фор-тенсорфлов-витх-гпу-суппорт-ресултс-ин-0-бите-симпле-цо

Постоје кораци за решавање проблема:

цд. \ базел-канта \ тенсорфлов \ тоолс \ пип_пацкаге

Отворите датотеку „симпле_цонсоле_фор_виндовс.зип-0.парамс“ и уклоните ред садржи „мнист.зип“:

...
рунфилес / орг_тенсорфлов / тенсорфлов / цонтриб / еагер / питхон / примјери / ган / мнист.зип = базел-оут / к64_виндовс-опт / бин / тенсорфлов / цонтриб / еагер / питхон / примјери / ган / мнист.зип
...
То ми помаже. У случају да вам то не помаже једноставно уклоните остале линије са зип датотекама (детаље погледајте овде). Сврха ове активности је да величина „симпле_цонсоле_фор_виндовс.зип“ буде мања од 2 ГБ.

Избришите празну датотеку „симпле_цонсоле_фор_виндовс.зип“.

Следећи поглед на матичну мапу. Морате да видите фасциклу са именом попут "_базел_ <корисничко име>". У мом случају то је „_базел_амсокол“. Садржи фасциклу са фајловима састављања. У мом случају то је „лк6зох4к“. Назад на љуску покренути (исправити према именима мапе):

цд Ц: \ Корисници \ амсокол \ _базел_амсокол \ лк6зох4к \ екецроот \ орг_тенсорфлов

Ручно креирајте датотеку „симпле_цонсоле_фор_виндовс.зип“:

спољни \ базел_тоолс \ тоолс \ зип \ зиппер \ зиппер.еке вцЦ базел-оут / к64_виндовс-опт / бин / тенсорфлов / тоолс / пип_пацкаге / симпле_цонсоле_фор_виндовс.зип @ базел-оут / к64_виндовс-опт / бин / тенсорфлов / тоолс / пип_пац симпле_цонсоле_фор_виндовс.зип-0.парамс

Покрените наредбу за креирање Питхон датотеке са точкићем:

цд Ц: \ Усерс \ амсокол \ Девелопмент \ тенсорфлов-буилд \ тенсорфлов
базел-канта \ тенсорфлов \ тоолс \ пип_пацкаге \ буилд_пип_пацкаге .. \ оут

Ствара датотеку тенсорфлов-1.11.0-цп36-цп36м-вин_амд64.вхл у мапи ".. \ оут".

Корак 12: Инсталирајте ТенсорФлов датотеку за точкове за Питхон 3.6 и проверите резултат

Покрените наредбу за инсталирање датотеке Питхон вхеел:

пип3 инсталл .. \ оут \ тенсорфлов-1.11.0-цп36-цп36м-вин_амд64.вхл

Оставите директоријум „тенсорфлов“ (грешке се понекад дешавају када покренем Питхон скрипте у фасцикли изворног кода Тенсофлов - не знам разлог):

цд ..

Да бисте направили чек за преузимање скрипте овде или копирајте и залепите:

увоз тенсорфлов као тф
хелло = тф.цонстант ('Здраво, ТенсорФлов!')
сессион = тф.Сессион ()
принт (сессион.рун (здраво))

Ако систем произведе следеће, онда је све у реду:

Здраво, ТенсорФлов!

Мој излаз:

Сада сте успешно инсталирали ТенсорФлов на Виндовс машину.

Јавите ми у коментарима испод да ли вам то успева. Или ако имате грешке. Хвала!