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

Ово је ажурирање за моју претходну причу. Шта је ново овде:
- ТенсорФлов в1.11
- ЦУДА в10.0
- цуДНН в7.3
На званичном сајту постоји водич. Понекад није баш свеобухватан, али је користан.
Резиме
- Инсталирајте Гит за Виндовс
- Инсталирајте Базел
- Инсталирајте алате МСИС2 к64 и командне линије
- Инсталирајте Висуал Студио 2017 Буилд Тоолс, укључујући Висуал Студио 2015 Буилд Тоолс
- Инсталирајте Питхон 3.6 64-бит
- Инсталирајте НВИДИА ЦУДА 10.0 и цуДНН 7.3 (за убрзање ГПУ-а)
- Конфигуришите окружење за изградњу
- Клонирајте ТенсорФлов в1.11 изворни код и примените обавезну закрпу
- Конфигуришите параметре састављања
- Израдите ТенсорФлов из извора
- Направите ТенсорФлов фајл за Питхон 3.6
- Инсталирајте датотеку за точкове ТенсорФлов за Питхон 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.вхл
Оставите директоријум „тенсорфлов“ (грешке се понекад дешавају када покренем Питхон скрипте у фасцикли изворног кода Тенсофлов - не знам разлог):
цд ..
Да бисте направили чек за преузимање скрипте овде или копирајте и залепите:
увоз тенсорфлов као тф хелло = тф.цонстант ('Здраво, ТенсорФлов!') сессион = тф.Сессион () принт (сессион.рун (здраво))
Ако систем произведе следеће, онда је све у реду:
Здраво, ТенсорФлов!
Мој излаз:

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