بیلد تنسورفلو در ویندوز - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

بیلد تنسورفلو در ویندوز

0 امتیاز
سلام.

آیا کسی تجربه بیلد تنسورفلو با cmake در ویندوز را داشته ؟ پروژه cmake کجا قرار داره و به چه چیز های وابستگی داره  و برای شروع کار چه پیش نیازهایی وجود داره؟
سوال شده بهمن 27, 1397  بوسیله ی همایون (امتیاز 220)   10 38 43

2 پاسخ

+1 امتیاز
 
بهترین پاسخ

در ابتدا سعی کنید از طریق virtualenv یک environment جدید بسازید و پکیج های پایتونی مورد نیاز تنسورفلو را توش نصب کنید.البته در این مرحله نسخه پایتون شما هم مشخص میشه .من با پایتون 3.6 میخام توضیح بدم. env مورد نظر را فعال کرده و پکیج های زیر را توش نصب کنید.

 

pip3 install six numpy wheel
pip3 install keras_applications==1.0.6 --no-deps
pip3 install keras_preprocessing==1.0.5 --no-deps

 

خوب حالا برای نصب تنسورفلو نیاز دارید که از بش msys2 استفاده کنید خوب ابتدا msys2 را دانلود و نصب کنید .تو repo رسمیش release های مربوطه قرار داده نشده می تونید از صفحه اصلی سایتش دانلودش کنید. خوب سعی کنید در یک مسیر کوتاه مثل c:\msys نصبش کنید. سپس مسیر usr\bin مربوط به msys2 را path در environment اضافه کنید. سپس msys2 را باز کنید و برای پکیج های مورد نیاز فرمان زیر را توش اجرا کنید:

pacman -S git patch unzip

بعدی نوبت دانلود خود bazel میرسه برید توی repo رسمی bazel و سپس نسخه دلخواه متناسب با نسخه تنسورفلویی که مدنظر دارید را دانلود کنید گاهی اوقات که آخرین نسخه را دانلود می کنید خودش پیام میده که نسخه پایین تر دانلود کنید و شما هم همین کارو انجام بدید.پس از دانلود فایل موردنظر را به bazel تغییر نام بدید و تو یک مسیر کوتاه مثلا d:\bazel\bazel.exe قرارش بدید تا مسیر طولانی نباشه .

 

 vsiaul studio 2019 رو سیستم تون نصب;کنید و سپس ه  Visual C++ Build Tools 2019  و هم Microsoft Build Tools 2019

و WinSDK را نصب کنید.

 

خوب msys2 را باز کنید ابتدا مسیر env مربوط به پایتون و مسیر مربوط به bazel را به environment path خود msys2 به صورت زیر اضافه کنید.

 

PATH=$PATH:/c/bazel:/c/my_env/Script::'/C/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC'

 

مسیر های شما ممکنه با من فرق داشته باشه به مسیر درست رو سیستم خودتون اصلاحش کنید.

 

خوب الان نوبتی هم باشه نوبت دانلود خود تنسورفلو ست از repo رسمی از گیت هاب دانلودش کنید من میخام با ورژن 2 توضیح بدم پس از برنچ 2 میام head را clone می کنم. به صورت زیر:

 

git clone https://github.com/tensorflow/tensorflow.git

 

 پس از clone برید داخل فلدر tensorflow برای نصب :

cd tensorflow

 

خوب اگر نسخه ای غیر از نسخه آخر مدنظرتونه می تونید در همین مرحله به نسخه موردنظر از طریق تگ دلخواه checkout کنید.

git checkout  v2.1.0

 

خوب اسکریپت configure را اجرا کنید تا عملیات کانفیگ قبل نصب را انجام بدیم

python ./configure.py

 

خوب یه سری سوال از شما از قبیل مسیر پایتون و بهینه سازی های سخت افزاری یا اینکه gpu ساپورت بشه تا اینکه نسخه اندوریدی براتون بسازه ازتون سوال می پرسه یکسری Y/N جواب بدید و یک سری هم از شما مسیر می خواد مسیر پیش فرض درست نباشه دستی وارد کنید.لیست سوال ها را در زیر قرار میدم.

 

Starting local Bazel server and connecting to it...
................
You have bazel 0.15.0 installed.
Please specify the location of python. [Default is C:\python36\python.exe]:

Found possible Python library paths:
  C:\python36\lib\site-packages
Please input the desired Python library path to use.  Default is [C:\python36\lib\site-packages]

Do you wish to build TensorFlow with CUDA support? [y/N]: Y
CUDA support will be enabled for TensorFlow.

Please specify the CUDA SDK version you want to use. [Leave empty to default to CUDA 9.0]:

Please specify the location where CUDA 9.0 toolkit is installed. Refer to README.md for more details. [Default is C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0]:

Please specify the cuDNN version you want to use. [Leave empty to default to cuDNN 7.0]: 7.0

Please specify the location where cuDNN 7 library is installed. Refer to README.md for more details. [Default is C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0]: C:\tools\cuda

Please specify a list of comma-separated Cuda compute capabilities you want to build with.
You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus
Please note that each additional compute capability significantly increases your build time and binary size. [Default is: 3.5,7.0]: 3.7

Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is /arch:AVX]:

Would you like to override eigen strong inline for some C++ compilation to reduce the compilation time? [Y/n]:
Eigen strong inline overridden.

Configuration finished

 

خوب کانفیگ در اینجا انجام شد حالا باید با خود bazel کد را بیلد کنیم با توجه به تنظمیات اگر فکر می کنید تنظیمات باب دلتون نیست با bazel clean ابتدا کانفیگ قبلی را پاک کنید و مجدد کانفیگ کنید.

 

در انتهای کانفیگ یک لیستی به شما نشان داده میشه که انواع تنظیمات فلگ --config را به شما معرفی می کنه.

 

خوب من به صورت زیر بیلد می کنم بدون gpu و با نسخه 2 :

 

bazel build --config=v2 --config=opt //tensorflow/tools/pip_package:build_pip_package --define=no_tensorflow_py_deps=true

 

با توجه به قدرت سخت افزارتون زمان بیلد متفاوت هستش در ضمن باید پروکسی داشته باشید اگر ندارید قبلا اینجا توضیح دادیم.

پاسخ داده شده اسفند 5, 1399 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
ویرایش شده اردیبهشت 23, 1400 بوسیله ی مصطفی ساتکی
+1 امتیاز
سلام.من نسخه 1.4 را تو ویندوز با vs بیلد کردم اگر اشتباه نکنم تو پوشه contrib\cmake باید باشه  پایتون میخاد و وابستگی خاصی در هنگام make نداره و تمامی کتابخانه های وابسته را هنگام بیلد دانلود می کنه از آنجایی که تحریم هستیم باید پروکسی استفاده کنید تا vs بتونه به راحتی فایل ها مربوط را دانلود کنه ولی نسخه 1.13 را نتونستم کلی خطا داشت خود گوگل بر حسب سیاست های انحصاری با تریک هایی در حال منقضی کردن نسخه cmake و جایگزین کردن آن با bazel هستش البته موضوع خنده داری که وجود داره که میگن bazel هم رسما تو ویندوز پشتیبانی نمیشه .
پاسخ داده شده بهمن 28, 1397 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
...