سلام.
دوسوال دارم.
سوال اول:
من در venv اناکوندا tensorflow-gpu رو با دستور زیر نصب کردم:
pip install --upgrade tensorflow-gpu
کلیه پکیج های مورد نیاز چون numpy,scipy,matplotlib,...
تو این محیط نصب شدن و وقتی محیط رو فعال میکنم و دستور spyder میزنم تو محیط اسپایدر برای ایمپورت این کتابخونه ها ارور نمیده اما وقتی تو محیط ipython
این پکیج هارو ایمپورت میکنم مثل mtplotlib
بهم میگه همچین ماژولی وجود نداره. در واقع تو اسپایدر دارم با پایتون 3.6.2
کار میکنم اما تو محیط ipython
دارم با پایتون 3.6.3
میکنم.
وقتی دستور زیر رو تو دو محیط spyder و ipython میزنم خروجیش متفاوته:
import sys
print(sys.version)
خروجی اسپایدر:
3.6.2 |Anaconda, Inc.| (default, Sep 19 2017, 08:03:39) [MSC v.1900 64 bit (AMD64)]
خروجی ipython:
3.6.3 |Anaconda, Inc.| (default, Nov 8 2017, 15:10:56) [MSC v.1900 64 bit (AMD64)]
در واقع با اینکه من برای هردوتا قبلش venv رو با دستور activate فعال میکنم و پکیج ها رو نصب میکنم اما بعضی پکیج ها تو محیط ipython ایمپورت نمیشن.
.............................
سوال دوم:
وقتی که دستور ('with tf.device('/device:GPU:0
رو تو کدم استفاده میکنم خطای زیر رو میده:
InvalidArgumentError (see above for traceback): Cannot assign a device for operation 'Loss_Optimizer/gradients/Loss_Optimizer/softmax_cross_entropy_loss/div_grad/BroadcastGradientArgs': Operation was explicitly assigned to /device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/device:CPU:0 ]. Make sure the device specification refers to a valid device.
[[Node: Loss_Optimizer/gradients/Loss_Optimizer/softmax_cross_entropy_loss/div_grad/BroadcastGradientArgs = BroadcastGradientArgs[T=DT_INT32, _device="/device:GPU:0"](Loss_Optimizer/gradients/Loss_Optimizer/softmax_cross_entropy_loss/div_grad/Shape, Loss_Optimizer/gradients/Loss_Optimizer/softmax_cross_entropy_loss/div_grad/Shape_1)]]
درواقع تو محیط اسپایدر وقتی دستور زیر رو تایپ میکنم خروجی بهم نمیده:
import tensorflow as tf
tf.test.gpu_device_name()
درصورتیکه که من tensorflow-gpu رو نصب کردم و cuda,cudnn رو هم کامل نصب کردم.
اما همین دستور رو تو محیط ipython میزنم خروجی زیر رو بهم میده:
2017-11-12 13:22:54.410881: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
2017-11-12 13:22:55.857503: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1030] Found device 0 with properties:
name: GeForce GTX 1050 major: 6 minor: 1 memoryClockRate(GHz): 1.493
pciBusID: 0000:01:00.0
totalMemory: 4.00GiB freeMemory: 3.34GiB
2017-11-12 13:22:55.857800: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GTX 1050, pci bus id: 0000:01:00.0, compute capability: 6.1)
Out[3]: '/device:GPU:0'