پست وبلاگ

آموزش نصب تنسورفلو و کراس در ویندوز

آموزش نصب تنسورفلو و کراس در ویندوز

بسم الله الرحمن الرحیم

در آموزش قبلی ما نحوه نصب تنسورفلو در لینوکس رو داشتیم و در اینجا میخوایم نحوه نصب تنسورفلو و کراس رو در ویندوز آموزش بدیم . این آموزش سازگار با کفی هست. اگه آموزش نصب و پیکربندی کفی رو مطالعه کرده باشید ما از ادامه اون آموزش پیش میریم تا هم براحتی بتونید از کفی ، تنسورفلو و کراس استفاده کنید . اونم هم در یک محیط و تحت پایتون ۳٫۵ . البته میتونید هم محیط جداگانه ایجاد کنید برای هرکدوم که در ادامه توضیح میدم .

 

برای راحتی کار من دوباره شیوه آماده سازی محیط رو اینجا میارم . اگه قبلا در آموزش کفی این بخش رو ایجاد کردید نیاز به انجام کار خاصی نیست فقط به بخش dependency ها یه نگاهی بندازید و چک کنید همه package ها رو نصب کردید یا نه اگر نه از طریق همین محیط نصبش کنید یا اینکه از طریق cmd و با دستورات pip یا conda نسبت به نصب پیکیج های مورد نیاز اقدام کنید. پیش نیاز این بخش دانلود و نصب اناکوندا۳ هست.(البته اگر قبلا نصب نکرده باشید)

نکته اول : برای مشاهده آموزش نصب تنسورفلو در لینوکس اینجا کلیک کنید.

نکته دوم : از ورژن ۱٫۲ به بعد پشتیبانی از پایتون ۳٫۶ اضافه شده در ویندوز. بنابر این میتونید بخش آماده سازی پایتون ۳٫۵ رو انجام ندید و یکسره آناکوندای ۳ رو نصب کنید و ادامه مراحل رو انجام بدید.

نکته سوم : از ورژن ۱٫۳ به بعد ورژن های از پیش اماده (یعنی همین پکیج هایی که ما نصب میکنیم) نیاز به cudnn6 خواهند داشت. هرچند اگه قصد کامپایل از سورس کد رو داشته باشید کماکان از cudnnv5 پشتیبانی خواهد شد.

نکته چهارم : برای نصب میتونید براحتی از دستور conda install tensorflow-gpu  استفاده کنید تا تمامی پیش نیازها مثل cuda و cudnn و… بصورت خودکار نصب بشه. این پکیج در لینوکس بروز هست اما در ویندوز ممکنه همیشه بروز نباشه و چند ورژن قبل تر باشه. برای همین اگر از این دستور استفاده میخوایید بکنید حتما بعد از نصب ورژن رو چک کنید تا نسخه قدیمی رو نصب نکرده باشید. میتونید همیشه آخرین نسخه تنسورفلو رو از اینجا چک کنید. آموزش زیر شیوه نصب تنسورفلو بر اساس pip هست که همیشه اخرین نسخه رو شامل میشه چه در لینوکس و چه در ویندوز.

 


آماده سازی پایتون ۳٫۵:

قبل از اینکه به سراغ نصب تنسورفلو و کراس بریم لازمه یک کارهایی انجام بشه . از اون جمله مهیا کردن ورژن مناسب برای اونهاست هست.آناکوندا۳ از پایتون ۳٫۶ استفاده میکنه. اما ما نیاز به پایتون ۳٫۵ داریم .به همین دلیل بعد از اینکه اناکوندا۳ رو نصب کردیم از منو استارت برنامه Anaconda Navigator  رو باز میکنیم . چند تا تب سمت چپ وجود داره روی Environment کلیک کنید. بعد مثل تصویر روی Create کلیک کنید . از منو کشویی ۳٫۵ رو انتخاب کنید و بالا یه اسم در نظر بگیرید . این گامها در تصاویر پایین نشون داده شدن :

بعد از اینکه محیط جدید ساخته شد و فایلهای اولیه دانلود شدند. روی بخشی که با رنگ آبی نشون دادم کلیک کنید و Not Installed رو انتخاب کنید. حالا پکیج های مختلفی که نیاز دارید رو انتخاب کنید و بعد در انتهای تصویر Apply رو بزنید تا دانلود و نصب بشن. پکیج هایی مثل numy, mingw, libpython, theano ,HDF5 ,scipy, h5py,matplotlib,six,wheel, jupyter notebook, ipython,sklearn رو نصب کنید.mingw و libpython برای ثیانو نیاز هستند و ثیانو هم برای کراس نیاز هست هرچند که ما از تنسورفلو بخواییم بعنوان بک اند استفاده کنیم. بقیه هم هرچیزی نیاز بود میتونید از همین بخش یا بصورت عادی با دستور conda یا pip نصب کنید.

خب محیط جدید شما اماده شده و از طریق پوشه env درداخل مسیری که اناکوندا۳ رو نصب کردید قابل دسترسی هست. برای فراخونی پایتون ۳۵ هم میتونید حالا از دستور activate python35 استفاده کنید (python35 اسمی هست که شما برای اون محیط انتخاب کردید. میتونه هرچز دیگه ای باشه اگه در تصویر بالا دقت کنید میبینید من خودم قبلا anaconda35 رو بعنوان اسم انتخاب کردم . حالا باید بسراغ متغییر Path بریم و برای راحتی کار مسیرهای جدید رو بجای مسیرهای قدیمی ست کنیم که دیگه مجبور نباشیم هربار برای کار با این محیط از دستور activate استفاده کنیم . میخواییم این محیط رو محیط پیشفرضمون کنیم .

روی MyComputer یا (This PC در ویندوز۱۰ ) راست کلیک کنید و Properties رو انتخاب کنید و بعد Advanced system settings رو انتخاب کنید. در پنجره باز شده روی Environment Variables کلیک کنید . تو پنجره جدید دو بخش وجود داره بخش بالایی یا User Variables for و یه بخش پایینی که System variables  هست. در بخش بالایی روی متغییر Path کلیک و بعد Edit  رو بزنید .وقتی باز میکنید باید تصویری مثل زیر رو داشته باشید .

حالا بصورت زیر تغییرشون بدید. روی هر کدوم دابل کلیک کنید تا حالت ویرایش فعال بشه یا اینکه روی دکمه Edit بزنید. بعد از اینکه تغییرات رو دادید OK کنید. 

حالا تست کنید ببینید همه چیز مرتب هست یا نه. برای اینکار cmd رو اجرا کنید . (میتونید از کلیدهای ترکیبی winKey+R استفاده کنید و بنویسید cmd و اجراش کنید). حالا بنویسید python و انتر کنید. باید چیزی مثل این رو ببینید (به ورژن پایتون دقت کنید):

حالا برای نصب (و دفعات بعد برای اپگرید کردن ) تنسورفلو از دستور زیر استفاده میکنیم :

اگر با خطایی مواجه شدید بخش انتهای همین آموزش رو ببنید.
اگر cuda و cudnn نصب نیست و یا میخوایید از ورژن سی پی یو استفاده کنید بنویسید :

برای نصب کراس هم : 

این بخش هیچ خطایی نباید بده و اخرش باید بنویسه کراس با موفقیت نصب شده. اگه خطایی داد احتمالا بخاطر نبود یه dependency هست.
بعد که تمام شد بزنید

باید بزنه using tensorflow backend  و با دیدن این پیام یعنی همه چی اکی شده و میتونید با نام و یاد خدا استارت کارتون رو بزنید .
برای نصب opencv میتونید از اینجا استفاده کنید :
یا بطور خلاصه :
اگه ویندوز هستید و اناکوندا دستور زیر رو بزنید :‌

یا این

اگه عمل نکرد (برای پایتون ۳.۵ احتمالا عمل نکنه ) شما باید ورژن wheel اونو از اینجا دانلود کنید و بعد با دستور pip نصبش کنید
مثلا اگه ورژن پایتون شما ۳.۵ هست شما باید فایل opencv_python‑3.2.0+contribcp35cp35mwin_amd64.whl  رو دانلود کنید . بعد که دانلود کردید میرید تو پوشه ای که دانلود شده و با دستور

نصبش میکنید .
اگرم به numpy گیر داد و گفت نصب نیست ورژن مورد نظرتون رو میتونید از اینجا دانلود و مثل بالا نصبش کنید

(نکته: اگه با IDM دانلود کردید و دیدید فایل با پسوند zip هست اونو به whl تغییر بدید و بعد براحتی با دستور بالا نصبش کنید.)

دقت بکنید که الان هم میتونید از تنسورفلو به تنهایی استفاده کنید یا اینکه از کراس هم استفاده کنید یا کلا از کراس استفاده کنید (یا بصورت ترکیبی!) اگه بر اساس آموزش قبلی پیش رفته باشید باید بتونید از کفی هم استفاده کنید بدون مشکلی.

 

نکات :

  • اگه در حین نصب با خطای 'pip3' is not recognized as an internal or external command, operable program or batch file. مواجه شدید میتونید این گام ها(اگر یکی کار کرد نیازی به دیگری نیست) رو برای رفع مشکلتون انجام بدید :

  • اگر با خطایی مثل زیر مواجه شدید :

میتونید این دستور رو امتحان کنید :

 

 

 

سید حسین حسن پور متی کلایی

درباره ی سید حسین حسن پور متی کلایی

موسس و مدیر سایت. اطلاعات در مورد فعالیت های کاری و تحصیلی : linkedIn . برای ارتباط از بخش تماس با ما یا در باره من استفاده کنید.

مقالات مرتبط

49 دیدگاه در “آموزش نصب تنسورفلو و کراس در ویندوز

  1. سلام دوباره.من موقع نصب cuda به مشکل میخورم و fail میشه.یک لیست نمایش میده که هیچ کدوم نصب نشدن .
    من کارت گرافیکم رو چک کردم و cuda compatible هست و درایورش هم update هست و ویژوال استودیو ۲۰۱۲ هم نصب کردم.
    نمیدونم مشکل از کجاست. شما تجربه ای با این مشکل ندارید؟

  2. سلام من تا قسمت نصب تنسورفلو روانجام دادم اما وقتی دستور pip3 install رو وارد می کنم خطا میده و میگه این سینتکس درست نیست مشکل چیه؟

  3. من پایتون ۳٫۶ رو از قبل روی سیستم داشتم و آناکوندا رو از همین لینکی که گذاشتین نصب کردم.

    pip3 install –upgrade tensorflow<<<
    File "”, line 1
    pip3 install –upgrade tensorflow
    ^
    SyntaxError: invalid syntax

  4. من دستور رو توی این محیط هم نوشتم ولی دوباره همون خطا رو داد، اون قسمتی که وارد Environment میشیم شما گفتین که یه پنجره ای باید باز بشه و یه مواردی باید ادیت بشه وقتی من وارد شدم دقیقا همه اون موارد داخل پنجره من نبود ممکنه مشکل از اینجا باشه؟

  5. سلام. برای من تنسورفلو به راحتی نسب شد. اما برای کراس خطا میده و چند خط قرمز رنگ مینویسه.opencv ولی کامل نصب شد اما وقتی خطوط زیر را می نویسم
    import tensorflow as tf
    import keras as ks
    اصلا میگه کراس رو نمیشناسه.
    حال من باید چه کار کنم؟ بدون کراس میتونم کارامو انجام بدم یا حتما کراس هم باید کنار تنسور فلو نصب باشه؟

    1. سلام
      برای بخش Environmen Variable میگید؟‌
      اون پنجره از ویندوز ۸ به بعد به این شکل هست . ویندوزهای ۷ و… اینطور نیستن و همه پشت سر هم تو یه خط نوشته شدن که باید شما اون موارد رو پشت سر هم در اخر خط اضافه کنید.
      بعد از اینکه هر مسیر رو وارد کردید باید ; بزارید(برای جداکردن مسیرهای مختلف از همدیگه استفاده میشه)

  6. سلام
    این کدها رو کجا باید وارد کنیم؟
    pip3 install –upgrade tensorflow-gpu
    من anaconda navigator رو دارم. در کدوم بخشش باید وارد بشن؟
    با تشکر

    1. سلام بالا جواب شما رو دادم .
      اگه از اناکوندا استفاده میکنید نیازی به نصبش ندارید .
      برای نصب و یا اپدیت پکیج ها در اناکوندا میتونید از Navigator استفاده کنید مثل شکل ارائه شده.
      همینطور میتونید خیلی راحت با دستور pip install esme_pacakge پکیج یا کتابخونه مورد نظرتون رو نصب کنید.

  7. سلام
    ببخشید من یک برنامه تو پایتون نوشتم که از tensorflow استفاده میکنه:
    import tensorflow as tf
    و من tensorflowرو با دستور pip install tensorflow نصب کردم، ولی پایتون این خطا رو میده
    line 1, in
    import tensorflow as tf
    ModuleNotFoundError: No module named ‘tensorflow’

    یعنی چی؟؟

  8. یه چیز دیگه اینکه من دستور pip install esme-package رو در anaconda prompt اجرا کردم، هم برای numpy و هم برای tensorflow , keras. الان که در پایتون یک برنامه با استفتده از numpy مزنم خطای زیر رو میده:
    line 1, in
    import numpy as np
    ModuleNotFoundError: No module named ‘numpy’

    مشکلش چی میتونه باشه؟؟

    1. سلام
      anaconda prompt مثل همون cmd هست با این تفاوت که یکسری اسکریپتهای جانبی رو اجرا میکنه تا متغییرهای path و… برای استفاده ازاناکوندا و کتابخونه هاش اماده باشن . اگه موقع نصب اناکوندا تیک PATH رو زده باشید هیچ فرقی بین cmd و anaconda prompt نیست و هر دستوری تو anaconda prompt بزنید میتونید در cmd هم بزنید.
      اگر نه یا تنظیمات مورد نیاز رو لحاظ کنید در متغییر PATH یا اینکه هرچیزی میخوایی اجرا کنید و ران کنید از طریق anaconda prompt انجام بدید.
      virtualenv هم یک محیط مجازی هست که میشه در پایتون ایجادش کرد تا نسخه ها یمختلف پایتون و یا کتابخونه های مختلف رو بشه داشت و خللی در کار برنامه های احتمالی دیگه ایجاد نکنه . من بالا توضیح دادم البته .
      مثلا شما میتونید یک محیط مجازی بسازید و در داخل اون تنسورفلو رو نصب کنید. و هر وقت نیاز به تنسورفلو داشتید اون محیط رو فعال کنید. هرچیزی هم تنسورفلو نیاز داشته باشه دانلود و داخل اون محیط قرار میگیره اما هیچ تغییری در بیرون از اون محیط در سیستم شما انجام نمیشه. به همین شکل میتونید یه محیط دیگه بسازید و یک ورژن قدیمی تنسورفلو رو نصب کنید و هر وقت با ورژن قدیمی کار داشتید یک محیط و هر وقت با ورژن جدید کار داشتید محیط دیگه رو استفاده کنید. خوبی virtualenv در این هست .

  9. سلام
    ببخشید اگر از اناکوندا پایتون ۳٫۶ رو نصب کنیم، مشکلی پیش میاد که شما پیشنهاد کرده بودین که پایتون ۳٫۵ رو نصب کنیم،؟
    ممنونم

    1. سلام.
      نه . دلیل اینکه من گفتم پایتون ۳٫۵ نصب بشه و آموزشش رو بالا دادم این بود که تنسورفلو اون زمان (یعنی اردیبهشت ماه ۱۳۹۶ ) فقط از پایتون ۳٫۵ پشتیبانی میکرد و تنها بعد از ورژن ۱٫۲ بود که پشتیبانی از پایتون ۳٫۶ فعال شد.
      برای همین شما هیچ مشکلی نباید داشته باشید برای اجرای تنسورفلو و نصبش .

  10. ببخشید یک سوال دیگه: حالا که پایتون رو با استفاده از اناکوندا نصب کردم ، حالا چجوری میتونم بازش کنیم، صفحه ای که اسمش shell هست رو از کجا باز کنم؟ در واقع میخوام شروع کتم به برنامه نویس در پایتون

    از اینکه جواب سوال هام رو میدید ممنونم.

    1. سلام
      شما برای کد نویسی تو پایتون هیچ نیازی به shell ندارید . میتونید یه نوت پد باز کنید یا یه IDE مثل spyder که همراه خود اناکوندا نصب میشه یا حتی jupyter notebook و کدهای پایتون رو اونجا بنویسید و بعد اجرا بگیرید .
      برای ورود و کار با پایتون در محیط کنسولی هم کافیه تو cmd بنویسید python یا ipython و کدنویسی کنید
      اگه از طریق anadonda prompt کار کردید و اونجا همه چیز براتون مرتبه همونجا میتونید بنویسید python یا ipython و اجراش کنید و در داخلش شروع به کد نویسی کنید .

  11. سلام
    ببخشید من دو تا سوال دارم:
    ۱)من میخوام در keras.model، مدل sequential و در keras.layers، لایه Dense و numpy رو اضاف کنم، چجوری این کاررو انجام بدم؟؟
    ۲)ممکنه لینک چند نمونه برنامه که با استفاده از tensorflow و keras باشه رو قرار بدید در پیج. ممنوم

      1. ببخشید من سایت keras رو نگاه کردم ولی درست متوجه نشدم، ممکنه شما بفرمایید که چجوری میتونم sequentialو dense رو اضاف کنم؟

        سپاسگزارم

  12. سلام
    اگر دقت کنید اگر تنسورفلو رو از آناکوندا نصب کنیم پکیج های cudnn و cuda رو نصب می کنه…. ولی در بعضی از سایت ها نوشته که باید cuda را از سایت ان ویدیا گرفت.. و همچنین cudnn رو در مسیر مورد نظر کپی کرد… می خواستم بدونم فرق cuda که آناکوندا نصب می کنه با cuda که ما به صورت دستی نصب می کنیم آیا تفاوتی وجود داره یا خیر؟

    1. سلام
      وظیفه conda بر خلاف pip اینه که نیازمندی های دیگه رو هم در بر بگیره برای همین هرچه لازم باشه رو خودش دانلود و نصب میکنه .
      شما میتونید خودتون هم جداگانه نیازمندی های کتابخونه ای رو نصب کنید و بعد با pip اقدام به نصب اون کتابخونه کنید. (ولی اگر از pip استفاده میکنید و نیازمندی ای وجود نداشته باشه به خطا میخورید مثل conda عمل نمیشه )
      و این بخودی خود ربطی به اناکوندا نداره.

  13. نه این فرمایش شما درست
    ببینید در آموزش بعضی از سایت ها شما باید cuda toolkit رو از سایت nvidia دانلود و اون رو نصب کنید و همچنین cuda را در مسیر نصب cuda toolkit کپی کنید …در عین حال آناکوندا خودش هنگام نصب تنسورفلو cuda و cuda toolkit را دانلود می کند در صورتی که فایل های دانلود شده توسط آناکوندا در مسیر متفاوتی کپی می شود…. پس قطعا فایل های دانلود شده توسط آناکوندا و فایل هایی که ما دانلود می کنیم فرق دارد؟ اما می خواستم بپرسم فرق آن ها چیست؟نمی دونم منظور من رو متوجه شدید یا نه؟ مثلا اگر آناکوندا cuda را نصب کند احتیاجی به نصب cuda toolkit توسط ما نیست یا اینکه آن فایل هایی که ما دانلود می کنیم برای برقراری ارتباط بین cuda کارت گرافیک و cuda زبان پایتون به کار می رود؟

    1. سلام
      منظور شما خود اناکوندا هست یا conda ؟ چون تا جایی که من اطلاع دارم پکیج های عمومی موجود در اناکوندا هیچکدوم نیازی به کودا تولکیت و cudnn ندارن که بخواد دانلود بشه من هم ندیدم همچین چیزی رو شخصا.
      اگه نصب با کوندا مدنظر شما باشه و پکیج های یادگیری عمیق مثل پای تورچ و تنسورفلو ، اینها چون نیازمندی اینها هستن با کوندا دانلود میشن .
      معمولا اگه در سیستم یک نیازمندی وجود داشته باشه برای یک کتابخونه یا ماجول دیگه دانلود نمیشه مگه اینکه ماجول مربوطه یا نصابش نیاز به تنظیم خاصی داشته باشه برای پیدا کردن نیازمندی ها (مثلا مسیر cuda در PATH نباشه ! یا کلا در یک مسیر خاص باید باشه ) در اینصورت نیازمندی دوباره دانلود میشه.
      اگر اناکوندا کودا تولکیت رو نصب کنه نباید نیازی به دانلود دوباره داشته باشید چون در سیستم هست و باید بتونید ازش استفاده کنید مگر اینکه برنامه یا برنامه های دیگه هرکدوم مسیر خاصی یا تنظیم خاصی رو نیاز داشته باشند یا نسخه خاصی از اون برنامه/کتابخونه/پیش نیاز رو نیاز داشته باشند که متفاوت از چیزی باشه که توسط دستور کوندا دانلود و نصب میشه . مثلا ممکنه شما با دستور کوندا که یک پکیجی رو نصب میکنید اون پکیج بره و کودا تولکیت مثلا ۸ رو دانلود کنه در حالی که یک برنامه دیگه شما به کودا تولکیت ۹ و یا یکی دیگه به ۷٫۵ نیاز داره .

  14. ممنونم از راهنمایی شما. بدون مشکل نصب شد. فقط در environment مثل شما نیست. البته مشکلی هم نیست در هر بار استفاده باید یکبار activate نوشته شود.
    ممنون از شما

  15. سلام ممنون از آموزش خوبی که دادید
    در انتهای کار زمانی که import tensorflow as tf رو میزنم
    خطای زیر رو میده
    ImportError: Could not find ‘nvcuda.dll’. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Typically it is installed in ‘C:\Windows\System32’. If it is not present, ensure that you have a CUDA-capable GPU with the correct driver installed.
    مشکل از کجاست؟
    تشکر فراوان

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *