آموزش نصب Tensorflow

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

اخیرا عزیزان زیادی درخواست آموزش نصب تنسورفلو رو داده بودن. هرچند نصب تنسورفلو خصوصا برای پایتون کار سختی نیست و براحتی میشه با توجه به مستنداتی که در سایت اصلی وجود داره اون رو نصب کرد. اما به هر حال ممکنه برای بعضی ها سخت باشه .

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

نصب تنسورفلو مبتنی بر پایتون ۳

توجه:در اوبونتو ۱۶٫۰۴ پایتون ۳٫۵ بصورت پیشفرض نصب هست و با Python3‌قابل فراخونی و استفاده است.

در اوبونتو ۱۴٫۰۴ پایتون ۳٫۴ بصورت پیشفرض نصب هست و با python3 قابل فراخونی هست. درصورتی که پایتون ۳٫۵ در ابونتوی شما نصب نیست
دستورات زیر رو بزنید :‌

بعد از انجام دستورات بالا باید بتونیم در ترمینال بنویسم python3.5 --version  و ببینیم که ورژن پایتون ما برابر Python 3.5.3  شده. از این به بعد هرجا که نیاز به استفاده از python35‌داشتیم باید بنویسم python3.5‌. اسامی مثل python به python2.7 و python3 به python3.4 اشاره دارن.

حالا برای نصب pip برای ورژن python3.5 دستورات زیر رو وارد کنید:

حالا برای اینکه هربار مجبور نباشیم بنویسیم python3.5 و بجاش از python3 استفاده کنیم مثل زیر عمل میکنیم (دقت کنید بصورت پیشفرض در اوبونتو ۱۴.۰۴ python3 پایتون ۳.۴ رو اجرا میکنه)

حالا در پنجره باز شده بنویسید alias python3=python3.5 و بعد save کنید. از این به بعد اگه در ترمینال بنویسید python3 پایتون ۳.۵ اجرا میشه.

 

نحوه نصب تنسورفلو 

ما میتونیم عملیات نصب رو به چند صورت انجام بدیم.
۱.همینطور عادی نصب کنیم(که پیشنهاد نمیشه خصوصا اگر قصد استفاده از فریم ورکهای دیگه و یا کتباخونه های دیگه رو هم داشته باشیم)
۲.از یک محیط مجازی استفاده کنیم تا تصب برنامه ها و کتابخونه های مختلف پایتون در سیستم عامل ما اختلال ایجاد کنه یکوقت که ما هم برای امنیت بیشتر از همین روش استفاده میکنیم.

قدم بعدی نصب virtualenv هست. تا تغییرات محلی باشه. یعنی برای نصب کتابخونه ها و نسخه مختلف پایتون نگرانی از بابت خراب شدن بقیه برنامه ها و… نداشته باشیم. برای نصب باید دقت کنیم که برای هر ورژن پایتون باید این جداگانه نصب بشه. دستور نصب هم به این صورت هست :‌

باید از دستور زیر برای نصب venv مربوط به پایتون ۳ استفاده کنیم(در ابونتو ۱۴) :‌

اگه اوبونتو ۱۶ باشه دستور زیر باید زده باشه.

بعد از انجام اینکار حالا این دستور رو میزنیم (دقت کنید مسیر رو عوض کنید! من خودم یک پوشه بنام tensorflow_vp3 تو درایوی بنام tmpstore ساختم و مسیرش رو دادم شما باید مسیر خودتون رو بدید!) :‌

ذکر این نکته هم خیلی مهمه که موقع نصب virtualenv باید مشخص کنید براساس کدوم ورژن پایتون نصب بشه.(که بالا انجام دادیم)
که متاسفانه در راهنمای گوگل نیومده و بدون مشخص کردن پایتون انجام شده (فرض اونجا اینه که کلا یه پایتون (یا ۲ یا ۳)‌بیشتر وجود نداره. اما مایی که ممکنه هر دو رو رو سیستم داشته باشیم باید ورژن پایتون رو هم قید کنیم. (پیشفرض گوگل پایتون ۲ هست البته. و  مراحل مشخص شده در مستندات تنسورفلو در سایت اصلی در بخش virtualenv کلا مبتنی بر پایتون ۲ هست و باید همه چیز هم مبتنی بر پایتون ۲ باشه – انتهای این اموزش دستورات برای پایتون ۲ رو هم نوشتم که فرق چندانی نداره با این اموزش-

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

دقت داشته باشید که این دستور از جایی اجرا نشه که پوشه تنسورفلو توش هست. (مثلا من تو ترمینال نباید تو درایو tmpstore باشم چون تو این درایو پوشه تنسورفلو من هم وجود داره !)

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

نصب با conda :

خیلی راحت دستور زیر رو در ترمینال بزنید. با زدن این دستور تمامی پیش نیازهای شما از قبیل cuda و cudnn و هرچی که لازم باشه نصب و بعد از همین یک خط دستور همه چیز آماده کار هست .

دقت کنید که معمولا conda در لینوکس بروز هست اما در ویندوز من دیدم بعضیا بروز نیست ( هر وقت هم نصب کردید ورژن تنسورفلوی نصب شده رو چک کنید و با اخرین ورژن قیاس کنید تا اطمینان حاصل کنید اخرین ورژن رو دریافت کرده باشید. میتونید همیشه آخرین نسخه تنسورفلو رو از اینجا چک کنید)

 

نصب با pip: 

با دستور زیر آخرین نسخه تنسورفلو با پشتیبانی از GPU نصب میشه. یادتون باشه از ورژن ۱٫۳ از cuda 8.0 و cudnn v6.0 پشتیبانی میشه و باید از قبل اینها رو روی سیستمتون نصب کرده باشید.

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

اگر با خطای premision denied مواجه شدید دستور بالا رو با sudo اجرا کنید. اما اگر به هر دلیل دیگه در نصب به شیوه بالا با مشکل مواجه شدید یا اگر نه قصد داشته باشیم از نسخه خاصی استفاده کنیم میتونیم به شکل زیر عمل کنیم . مثلا بنابه دلایلی ما از ورژن خیلی قدیمی ۰٫۱۲ میخواییم استفاده کنیم. میخواییم از ورژن مبتنی بر GPU استفاده میکنیم که نیازمند نصب بودن CUDA 8 و CUDNN 5.1 هست.(تا ورژن ۱٫۲ تنسورفلو همین نسخه کودا و cudnn کفایت میکنه)  از اونجایی که ورژن پایتون ما ۳٫۵ هست ما هم ورژن مربوط به پایتون ۳٫۵ برای نصب استفاده میکنیم (دقت کنید ورژن پایتون شما چنده و لینک مربوط به اون رو استفاده کنید.) :‌

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

بعدش خیلی راحت با استفاده از pip3 (یا conda)میتونید بقیه نیازمندی هامون رو نصب کنیم مثل jupyter و ipythonیا…. )

و هر چیز دیگه ای که لازم بود به این شکل نصب میکنیم.
بعد که همه چیز تموم شد . حالا یکبار deactivate میکنیم :‌

و بعد دوباره activate میکنیم :

در آخر هم اگر از ورژن GPU استفاده کرده باشیم (که کردیم و در ۹۹.۹۹ درصد اوقات همیشه باید بکنیم) باید دستور زیر رو هم به فایل bashrc اضافه کنیم. bashrc تو پوشه home شما هست و بصورت عادی مخفیه.برای دیدنش باید Ctrl-H رو بزنید. بعد که مشخص شد بازش کنید و این کدها رو در انتهاش وارد کنید و سیو کنید .

نیاز به گفتن نیست که cuda باید نصب شده باشه

خب اگه همه مراحل رو درست رفته باشید همه چیز باید الحمدالله اکی شده باشه و میتونید از تنسورفلو در پایتون یا ipython3 استفاده کنید.
برای تست هم میتونید نمونه زیر رو اجرا کنید :‌

خطهایی که علامت <<< دارن دستور هستن و باید وارد کنید. اگر دیدید پیام های اضافی زیادی هم نمایش داده میشه مثل زیر:نگران نباشید هیچ مشکلی وجود نداره. (تو صفحه کنسول فقط اینطوری میشه)

نکته دیگه هم اینکه برای اینکه بفهمید مسیر پکیج هاو… در تسنورفلو کجاس میتونید از دستور زیر بعنوان مثال استفاده کنید (ما چون از پایتون ۳ استفاده کردیم اینجا هم مینویسیم پایتون ۳):

و نشون داد که در همون پوشه ای که برای env ساختیم در پوشه site-packages تنسورفلو قرار داره.
خب الحمدالله نصب تنسورفلو هم تموم شد و میتونید به راحتی استفاده کنید. برای استفاده از ای نوت بوک هم کافیه بنویسیم :

اگر هم خواستیم از ipython3 تو کنسول استفاده کنیم خب خیلی راحت میتونیم بنویسیم :

خوبی ipython اینه که intelisense داره (همون code auto-completion ) که بعد نقطه tab بزنید خودش بقیه دستور رو مینویسه.

همچنین دقت کنیم که موقع نصب کتابخونه و… مورد نیازمون قبلش وارد محیط شده باشیم یعنی اعلان به شکل زیر باشه:‌

نکات:‌

اگر کتابخونه ای نصب نشد بدونید یه کامپایلری یا یه چیزی کمه مثلانصب scipy  چون کامپایلر فورترن رو نیاز داره اگر نباشه نصب نمیشه و خطا میده که البته با سرچ خطای داده شده هم میتونید متوجه مشکل بشید و رفعش کنید.

از داخل خود ipython هم میشه کتابخونه های مختلف رو نصب کرد . مثل زیر

علامت ! برای اجرای دستورها استفاده میشه .

اگر از سورس کد کامپایل کنید مشکل کودا ۸ برطرف میشه. کلا تنسورفلو از ورژن ۷ به بالا پشتیبانی میکنه. فقط ورژن های از قبل اماده (یا همون پری بیلد باینریها) کودا ۸ هست (از ورژن ۱۱ به بعد).

نصب تنسورفلو برای پایتون ۲

خب اگر بخواییم برای پایتون ۲ این کار رو انجام بدیم و تنسور فلو رو نصب کنیم خیلی راحت این دستورات رو میزنیم :‌
اول از همه نصب virtualenv :

حالا ایجاد محیط (قبلا پوشه tensorflow_vp2 رو ساختم اینجا مسیرش رو میدم) :‌

فعال سازی :‌

و نهایتا نصب :‌

نصب اخرین نسخه : به ترتیب اگر نیاز به نصب نسخه مبتنی بر CPU‌بود دستور اول و اگر نیاز به نسخه مبتنی بر GPU بود دستور دوم رو وارد میکنیم:‌

شیوه دوم نصب :‌ برای نصب نسخه ها بصورت دستی:

بعد هم یه غیرفعال سازی :

و حالا دوباره فعال سازی :‌

و حالا میتونید اگر خواستید ipython یا jupyter و هرچیز دیگه ای خواستید نصب کنید :‌
مثلا من ipython رو نصب میکنم :‌

یه نکته ای هم یادتون باشه . هرکدوم اینا نصب شد یکبار deactivate کنید بعد وارد شید و کار رو ادامه بدید .

اگر خطایی مثل

دی اکتیویت و دوباره اکتیویت کنید (شاید لازم باشه کلا ترمینال رو هم ببندید و دوباره باز کنید) تا مشکلتون برطرف بشه.

نکته  مهم دیگه اینکه اگر با خطای

یا

و یا کلا هرکدوم از دستورات تنسورفلو این خطا رو دادن باید بدونید که نباید تنسور فلو رو از جایی اجرا کنید که پوشه تنسورفلو توشه !‌ برای همین مثلا ما از پوشه home یکسره زدیم رفتیم فعال کردیم تنسورفلو رو


نهایتا هم این کل محتویات فایل bashrc من هست که برای نمونه میتونید ببینید. (اطلاعات مهم فقط بخشهای آخر هستند که بدرد شما میخورن چک کنید!با کامنت این بخشها مشخص شدن مثل محل اناکوندا و کودا و… ) :

سید حسین حسن پور متی کلایی دی ماه ۱۳۹۵

 

بروز رسانی اول انجام شد۲۸ شهریو ۹۶ :
اضافه کردن شیوه نصب آسان
اضافه کردن پایتون ۳٫۵ در اوبونتو ۱۴٫۰۴ بجای ۳٫۴ سابق
اضافه کردن نیازمندی های نسخه مبتنی بر GPU
اضافه کردن توضیحات تکمیلی

 

pip3 for python35python3.5python35ubuntu 14.04Ubuntu 16.04آموزشآموزش نصبآموزش نصب تنسورفلونصب tensorflowنصب پایتون۳.۵ در اوبونتونصب تنسورفلونصب تنسورفلو در اوبونتو
Comments (43)
Add Comment
  • محمد

    سلام.
    بی نهایت ممنون و سپاس گزارم
    با ارزوی سلامتی و توفیق رزو افزون

  • milad

    سلام
    لطفا لینک دانلود نرم افزار تنسور فلو رو قرار دهید.

  • milad

    سلام
    من یک دیتایی دارم که میزان انرژی الکتریکی مصرفی یک ناحیه رو در هر ساعت نشون میده.(دیتا فقط شامل اعداد است).
    میخام میزان انرژی مصرفی در ساعت بعد رو پیش بینی کنم.
    این کار رو قبلا با شبکه عصبی انجام دادم.
    حالا میخام این پیش بینی رو با استفاده از شبکه عصبی عمیق انجام بدم.
    آیا این کار امکان پذیره؟
    با چه نرم افزاری؟
    با تشکر

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

      سلام .بله
      در مورد شبکه های Lstm تحقیق کنید و برای پیاده سازی میتونید از تنسورفلو و یا تورچ و یا deeplearning4j هم استفاده کنید.

  • fatemeh

    سلام،

    امکان داره نصب تنسرفلو روی ویندوز و cpu رو هم توضیح بدید؟

    طبق خود وبسیت تنسرفلو، نمیتونم اینستال کنم

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

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

  • هادی

    با سلام
    من طبق گام های آموزش جلو رفتم. اما برای نصب faster-rcnn با تنسورفلو اکثر سایت ها از python2 استفاده میکنن. من تنسورفلو رو برای ‍پایتون ۲ هم نصب کردم. ( هم با دستور sudo pip install –upgrade tensorflow-gpu و هم با دستور pip install –upgrade tensorflow-gpu). حالا پایتون ۳ تنسورفلو رو تشخیص میدهُ اما پایتون ۲ تشخیص نمیده. وقتی import tensorflow میکنم خطای no module named tensorflow میده. راهی هست که برای پایتون ۲ هم تشخیص بده؟

    ممنون

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

      سلام . من دقیقا نمیدونم شما مسیرها رو بدرستی طی کردید یا نه . اما برای اینکه دردسر نداشته باشید بهترین کار ایجاد یه محیط جدید برای پایتون ۲ هست و زدن دستورات پایتون ۲ در داخل اون .
      اینطور دیگه بدون هیچ مشکلی میتونید کار نصب رو انجام بدید.

  • مریم

    تشکر آقای حسن پور?

  • Mashhadi

    سلام.
    من تنسورفلو ۱٫۲٫۱ را روی اوبونتو ۱۶٫۴ نصب کردم.
    بعد از فعال کردن تنسورفلو وقتی میخوام برنامه ام رو اجرا کنم، خطای زیر رو میده:
    Error importing tensorflow.  Unless you are using bazel,
    you should not try to import tensorflow from its source directory;
    please exit the tensorflow source tree, and relaunch your python interpreter
    from there.

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

      سلام
      ترمینال شما نباید تو پوشه ای بنام tensorflow باز باشه . یعنی وقتی دستور import رو میزنید نباید در پوشه ای باشید که اسمش تنسورفلو هست

  • مصطفی

    سلام آقای حسن پور
    متاسفانه سایتهایی مثل tensorflow و nvidia مارو فیلتر کرده و شما هم گفتید از فیلتر شکن استفاده کنیم. اما چجوری میشه برای ubuntu 16.04 فیلتر شکن نصب کرد؟ در واقع چه فیلتر شکن رایگانی برای اوبونتو ۱۶ هست؟

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

      سلام . برای پکیج های pip که مشکلی ندارید.
      اما برای بقیه موارد معمولا از هرجا وی پی ان تهیه میکنید میتونید راهنمای اتصال در سیستم عاملهای مختلف مثل لینوکس (ابونتو و…) رو بگیرید.
      مثلا من از openconnect استفاده میکنم . که برای نصبش میتونید بصورت زیر :
      sudo apt-get update
      sudo apt-get install openconnect
      عمل کنید.
      نحوه کارش هم فکر میکنم تو سایت پرسش و پاسخ یکی از کاربرا پرسیده بود توضیح دادم . میتونید همون رو چک کنید. (البته سر راسته ولی اگر یک درصد مشکل داشتید بخش پرسش و پاسخ رو سرچ کنید)

  • masoumeh

    ببخشید من یک فایل متلب دارم ، چه دستوری در پایتون بنویسم که فایل من رو از دایرکتوری موجود در لپ تاپم بخونه؟؟
    این دستور رو امتحان کردم ولی نمیشه:
    Data = sio.loadmat(‘C:/Users/emarahi/Desktop/bubble/data.mat’)

    ممنونم

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

      سلام
      نمیشه که درست نیست! باید خطایی که میده رو بگید تا بشه کمکتون کرد
      ضمنا لطف کنید این سوالات رو تو سایت پرسش و پاسخ بپرسید که بدرد بقیه هم بخوره
      همونجا بپرسید بعد اینجا اطلاع بدید من جواب بدم خدمتتون

      • masoumeh

        تو سایت پرسیدم حتی یکنفر هم باز نکرده ببینه، کلا از سایت پرسش و پاسخ ناامید شدم،
        این خطا هست:
        ‘dict’ object has no attribute ‘data’
        ممنونم

  • masoumeh

    سلام
    ببخشید من اون ماتریس بزرگی رو که داشتم با دستور reshape به ۱۲۰ تا ماتریس ۱۰۰۰۰۰ تایی تبدیل کردم مثلا با یک ماتریس خیلی کوچیک چنین خروجی داره:
    a = [1, 2, 3, 4, 5, 6]
    np.reshape(a, (3, 2))
    array([[1, 2],
    [۳, ۴],
    [۵, ۶]])
    array، خروجی میشه، حالا اگر من بخوام که ماتریس [۲ ,۱]، رو فراخوانی کنم، با په دستوری میتونم اینکار رو انجام بدم؟؟

  • زیبا

    با سلام. من برای نصب تنسورفلو در ابونتو کودا را نصب کردم ولی درایور انویدیا در سیستم نصب نیس. ۱٫ آیا باید کودا را حذف کنم و درایور انویدیا را اول نصب کنم؟۲٫ اگر بدون درایور تنسورفلو رو نصب کنم مشکلی پیش میاد؟۳٫ و اینکه برای این مدل جی پی یو NVIDIA corporation GK208[GeForce GT 730] چه مدلی از انویدیا باید نصب کنم؟
    متشکرم.

  • محمد

    سلام
    من از روش شما نصب کردم تو مسیر
    home/na/venv/tensor
    و وقتی میرم داخلش و میزنم
    which python مسیر بالا رو میده ولی برای which pip و which condaمسیر
    home/na/anaconda3/bin/pip رو میده !
    این درسته؟ یا باید مسیر بالایی رو بده ؟
    وقتی از تنسور استفاده میکنم میگه
    attribute error : module ‘tensorflow’ has no attribute ‘ session’
    در حالی که من تو پوشه ی venv و بعد tensor ساختم

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

      سلام
      session رو باید Session بنویسید .
      لطفا سوال رو در سایت پرسش و پاسخ بپرسید من تا دو هفته دیگه نمیتونم به سوالات جواب بدم یا اگر برسم خیلی دیر میشه
      برای اینکه در زمانتون صرفه جویی بشه حتما در سایت بپرسید من اگر برسم همونجا هم جواب میدم .

  • masoomehsadat

    با سلام و احترام

    چجوری میتونم opencv داخل pycharm اضافه کنم؟
    الان من میخوام داخل ترمینال نصب کنم به cmake ارور میده بعد میخوام cmake نصب کنم قبلا دستور sudo apt-get iupdate میزنم هی سری لینک میاد ارور میده فکر کنم شاید فیلتر باشیم؟

    sudo apt-get install cmake -y
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source

    E: Package ‘cmake’ has no installation candidate
    اینم ارور های sudo apt-get update
    W: Failed to fetch http://ppa.launchpad.net/jonathonf/python-3.5/ubuntu/dists/saucy/main/binary-i386/Packages 404 Not Found

    E: Some index files failed to download. They have been ignored, or old ones used instead.

    ممنون میشم جواب بدین

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

      سلام opencv۲ یا opencv3 کدوم رو میخوایید نصب کنید ؟‌ چون شیوه نصب ایندوتا در اوبونتو فرق داره
      یه زحمت بکشید همین سوال رو در بخش پرسش و پاسخ بپرسید من اونجا سعی میکنم کامل جواب بدم .

  • فرزانه

    سلام
    من همه مراحل رو کامل انجام دادم ولی این خطا رو می گیرم لطفا راهنمایی کنید

    dr@dr-mardani:~$ source /media/dr/179c8070-45c3-4c50-b491-fe2ba89d3803/dr-salimi/tensorflow_vp3/bin/activate
    (tensorflow_vp3) dr@dr-mardani:~$ python3
    Python 3.5.2 (default, Nov 23 2017, 16:37:01)
    [GCC 5.4.0 20160609] on linux
    Type “help”, “copyright”, “credits” or “license” for more information.
    >>> import tensorflow as tf
    Traceback (most recent call last):
    File “/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py”, line 58, in
    from tensorflow.python.pywrap_tensorflow_internal import *
    File “/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”, line 28, in
    _pywrap_tensorflow_internal = swig_import_helper()
    File “/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”, line 24, in swig_import_helper
    _mod = imp.load_module(‘_pywrap_tensorflow_internal’, fp, pathname, description)
    File “/usr/lib/python3.5/imp.py”, line 242, in load_module
    return load_dynamic(name, filename, file)
    File “/usr/lib/python3.5/imp.py”, line 342, in load_dynamic
    return _load(spec)
    ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “”, line 1, in
    File “/usr/local/lib/python3.5/dist-packages/tensorflow/__init__.py”, line 22, in
    from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
    File “/usr/local/lib/python3.5/dist-packages/tensorflow/python/__init__.py”, line 49, in
    from tensorflow.python import pywrap_tensorflow
    File “/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py”, line 74, in
    raise ImportError(msg)
    ImportError: Traceback (most recent call last):
    File “/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py”, line 58, in
    from tensorflow.python.pywrap_tensorflow_internal import *
    File “/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”, line 28, in
    _pywrap_tensorflow_internal = swig_import_helper()
    File “/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”, line 24, in swig_import_helper
    _mod = imp.load_module(‘_pywrap_tensorflow_internal’, fp, pathname, description)
    File “/usr/lib/python3.5/imp.py”, line 242, in load_module
    return load_dynamic(name, filename, file)
    File “/usr/lib/python3.5/imp.py”, line 342, in load_dynamic
    return _load(spec)
    ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory

    Failed to load the native TensorFlow runtime.

    See https://www.tensorflow.org/install/install_sources#common_installation_problems

    for some common reasons and solutions. Include the entire stack trace
    above this error message when asking for help.
    >>>
    KeyboardInterrupt

  • محمد

    سلام من تمامی مراحل به درستی نصب کردم
    ولی وقتنی میخوام یه کدی رو با ten(gpu) و ten(cpu) اجرا میکنم و ازش time میگیرم در هر صورت سرعتشون یکی هست!!!
    ولی قاعدتا باید gpu از cpu سرعتش بالاتر باشه!!!
    لازم به ‌ذکر هست که تنسورفلو (cpu) با virtualenv نصب کردم
    و مسیر path به درستی وارد کردم.

    مشخصات سیستم:
    ubuntu 16.04
    ۷۴۰m 2GB
    ۳۸۴٫۱۳۰
    cuda-9.0
    cuDNN 7.3

  • محبوبه

    سلام
    یک سوال ما برای داشتن کتابخانه تنسورفلو نیاز به نصب آناکوندا نداریم؟تنها باید پایتون نصب گردد؟؟
    با تشکر

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

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

  • قندریز

    سلام
    در فرآیند آموزش تصاویر train بروی لپ تاپ من خطای زیر ظاهر میشه البته مثلا اسپ ۳۷۷۸۵ را پشت سر گذاشته و ناگهان پیام خطا ظاهر میشه و انتظار فوق العاده بالا قرار میگیره و ادامه نمیده در ضمن نمودار وضعیت GPU هم از کار میافتده و مشخص است که فرآیند آموزش stop شده.
    (ناگفته نماند اگر مجد فرمان آموزش را صادر کنم از اسپ ۳۵۷۸۵شروع میکنه و ادامه آموزش انجام میشه )همچنین لازم به توضیح است که من تنسرورفلو نسخه ۱٫۵ gpu استفاده میکنم و از مدل
    Faster RCNN inception v2 استفاده کردم ، مشخصات GPU لپ تاپم هم : Geforce GTX 930 MX است اگر کسی تجربه داده لطفا راهنمایی کنه . با تشکر
    نمای خطا:

    INFO:tensorflow:global step 35785: loss = 0.0052 (1.213 sec/step)
    INFO:tensorflow:global_step/sec: 0.791679
    INFO:tensorflow:global_step/sec: 0
    INFO:tensorflow:global_step/sec: 0
    INFO:tensorflow:Saving checkpoint to path training/model.ckpt
    INFO:tensorflow:Saving checkpoint to path training/model.ckpt

      • قندریز

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

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

          سلام. نمیدونم چک کردید اسکریپتتون اکی هست ؟ شاید ایپاک یا ایتریشن هاتون تمام میشن یا ممکنه شرطی که برای ادامه ترینینگ دارید نقض بشه و تمام بشه. اول اینو چک کنید مطمئن بشید اسکریپت یکدفعه تمام میشه (معمولا باید خطا بده) یا نه صرفا تمام میشه (میتونید یکسری پرینت یا لاگ بزارید ببینید کدومه)
          میتونید دمای GPU رو لاگ کنید یا ببینید اگه در ویندوز باشید GPU-Z رو دانلود و نصب کنید میتونید اینو براحتی چک کنید. اگر در ابونتو هستید هم میتونید خیلی راحت در ترمینال با دستور
          nvidia-smi –loop=1 مشخصات مربوط به دما و فضای اشغال شده و… کارت گرافیکتون رو ببینید. یا اینکه خروجیش رو تو فایل ذخیره کنید بعدا چک کنید.

  • منصور محمد زاده

    با سلام
    برای نصب tensorflow هر چند بر اساس روش اعلامی جلو می روم خطای نصب می دهد به نظر نیاز به VPN وجود دارد. اما وقتی از VPN هم استفادهم می کنم به نظر تشخیص داده می شود و امکان نصب وجود ندارد. پایتون نصب شده ۳٫۹ و ۶۴ بیتی است.
    با تشکر

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

      سلام. خطا چی میگیرید ؟
      ممکنه کش شده باشه.
      علاوه بر اون میتونید بصورت مستقیم whl رو از pypi.org دانلود کنید و فیلتر نیست یا تو google colab دانلود کنید و بعد از اونجا بیارید رو سیستم خودتون

  • Elham

    البته Session اَتریبیوته، اشتباها ماژول نوشتم.

  • Elham

    عه! مثل اینکه پیام اولم ارسال نشده بود! :))
    به هرحال،
    ضمن سلام و تشکر از مطالب خوبتون، می خواستم بپرسم که، با توجه به اینکه اتربیوته Session توی نسخه های جدید تنسرفلو نیست، پیشنهادتون برای کسایی که می خوان تنسرفلو رو روی سیتم خودشون داشته باشن چیه؟
    نسخه های قدیمی نصب کنن؟
    سوال دیگه اینکه، نسخه داکر تنسرفلو هم اومده، نظرتون راجب اون چیه، به نظرتون کار با اون راحت تر نیست؟

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

      سلام.
      من مدت خیلی زیادیه که دیگه با تنسورفلو کار نمیکنم. اما در هر صورت پیشنهاد میکنم همیشه از جدیدترین نسخه ها استفاده بشه
      اگر در ابتدای کار هستید پایتورچ انتخاب بسیار بهتریه چون breaking change ها در بین نسخه های پایتورچ بسیار کمتر از تنسورفلو هست و همینطور شیوه ا نجام کار در اون مشخص تر و ساده تر هست.
      به همین دلیل هم عموما آموزش هایی یکی دو سال پیش پایتورچ (وحتی بیشتر) رو بهتر از تنسورفلو میتونید استفاده کنید.
      اگر این براتون مقدور نیست و آموزش های مناسب برای نسخه جدید تنسورفلو ندارید تنها در اون زمان میتونید از یک نسخه قدیمی تر (نه خیلی قدیمی، تا جایی ممکن نزدیک به نسخه جدید باشه ترجیحا) استفاده کنید که بتونید اون آموزش ها و… رو پیش ببرید.
      مشخصا باید بعدش سویچ کنید و نمیتونید تو یک نسخه قدیمی که با گذشت زمان بیشتر با مشکل روبرو میشید ادامه بدید پس در هر حال بروز اوری اطلاعاتتون ضروریه و استفاده از یک نسخه نزدیکتر به نسخه جدید کمکتون میکنه تا نرخ تغییرات کمتری رو شاهد باشید.
      برای تست همیشه گوگل کولب هست و میتونید از اون استفاده کنید.
      برای سیستم خودتون هم اگه با نسخه جی پی یو مشکل دارید میتونید از نسخه سی پی یو استفاده کنید. میتونید از نسخه های دیگه هم بهره ببرید اگه گرافیک غیر انویدیا دارید (مثل Onnx, opencl, dml , tvmو …)
      داکر کار رو راحت میکنه منتها برای کاربرهای عادی شاید ابتدا به امر سخت باشه. اگر مشکلی ندارید اون هم گزینه خیلی خوبیه.

      • Elham

        ممنون از پاسخگویی تون،
        من دارم روی پایان نامه م کار می کنم (fraud detectio). الان در مرحله پیاده سازی هستم، گفتین دیگه از تنسور فلو استفاده نمی کنین، دلیل خاصی داره؟ آیا کتابخانه های بهتری وجود داره به لحاظ کارکرد یا فقط انتخاب شخصیه و با کتابخانه دیگه ای راحت ترید
        و اینکه توی سایت راجب LSTM نوشتین، پیاده سازیش رو روی سایت نذاشتین؟ من چیزی پیدا نکردم

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

          سلام.
          پایتورچ رو انتخاب کردم چون مهندسی نرم افزار بهتری داره و بسیار ساده تره و کدنویسی با اون بسیار لذت بخش تره. همینطور اکثر مقالات ارائه شده در کنفرانسهای معتبر پیاده سازی اولیه اشون طی چند سال اخیر پایتورچ بوده عموما و این کمک خیلی خوبیه.
          از طرفی تنسورفلو یوزربیس بسیار بزرگتری داره و گستره زیادی از سخت افزارها رو پشتیبانی میکنه. انتخاب اون هم خیلی خوبه.
          کلا تنسورفلو اوله و بعد پایتورچ در تصویر کلی اگر بخواییم ببینیم.
          منتها من از سال ۲۰۱۸ بطور خاص فقط با پایتورچ کار میکنم و کاملا راضی هستم.
          گرایش به سمت پایتورچ هر ساله در حال افزایشه بخاطر همون سادگی و راحتی کار. به هر حال خوبه خودتون یک نگاهی بندازید بعد با هرکدوم احساس بهتری داشتید یا کارتون رو احت تر میکنه ادامه بدید.
          فکر میکنم در آموزش LSTM یک نمونه کد پیاده سازیش شده اش رو قرار دادم مثل RNN . همون پست رو ببینید لطفا.

          • Elham

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