我是TensorFlow的新手.我最近安装了它(Windows CPU版本)并收到以下消息:
成功安装了tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc2
然后,当我试图跑
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
sess.run(hello)
'Hello, TensorFlow!'
a = tf.constant(10)
b = tf.constant(32)
sess.run(a + b)
42
sess.close()
Run Code Online (Sandbox Code Playgroud)
(我通过https://github.com/tensorflow/tensorflow找到)
我收到以下消息:
2017-11-02 01:56:21.698935:IC:\ tf_jenkins\home\workspace\rel-win\M\windows\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137]你的CPU支持这个说明TensorFlow二进制文件未编译使用:AVX AVX2
但是当我跑的时候
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
Run Code Online (Sandbox Code Playgroud)
它运行应该和输出Hello, TensorFlow!,这表明安装确实成功,但还有其他错误.
你知道问题是什么以及如何解决它?谢谢.
在Tensorflow中训练模型后:
我正在尝试使用pip来安装TensorFlow:
$ pip install tensorflow --user
Collecting tensorflow
Could not find a version that satisfies the requirement tensorflow (from versions: )
No matching distribution found for tensorflow
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?到目前为止,我已经使用了Python和pip而没有任何问题.
我在这里浏览tensorflow API文档.在tensorflow文档中,他们使用了一个名为的关键字logits.它是什么?在API文档的很多方法中,它都是这样编写的
tf.nn.softmax(logits, name=None)
Run Code Online (Sandbox Code Playgroud)
如果写的是什么是那些logits只Tensors,为什么保持一个不同的名称,如logits?
另一件事是我有两种方法无法区分.他们是
tf.nn.softmax(logits, name=None)
tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None)
Run Code Online (Sandbox Code Playgroud)
它们之间有什么区别?这些文档对我来说并不清楚.我知道是什么tf.nn.softmax呢.但不是另一个.一个例子将非常有用.
什么是"相同"和"有效"填充之间的区别tf.nn.max_pool的tensorflow?
在我看来,'VALID'意味着当我们做最大池时,边缘外没有零填充.
根据深度学习的卷积算法指南,它表示池操作符中没有填充,即只使用'VALID' tensorflow.但是什么是最大池的"相同"填充tensorflow?
这是从运行脚本以检查Tensorflow是否正常工作时收到的消息:
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcurand.so.8.0 locally
W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use AVX instructions, but these are available …Run Code Online (Sandbox Code Playgroud) 我是TensorFlow的新手.我对tf.placeholder和之间的区别感到困惑tf.Variable.在我看来,tf.placeholder用于输入数据,并tf.Variable用于存储数据的状态.这就是我所知道的.
有人可以向我详细解释他们的差异吗?特别是何时使用tf.Variable以及何时使用tf.placeholder?
这些功能之间有什么区别?
tf.variable_op_scope(values, name, default_name, initializer=None)返回上下文管理器,用于定义创建变量的op.此上下文管理器验证给定值来自同一图形,确保该图形是默认图形,并推送名称范围和变量范围.
tf.op_scope(values, name, default_name=None)返回定义Python操作时使用的上下文管理器.此上下文管理器验证给定值是否来自同一图,确保该图是默认图,并推送名称范围.
tf.name_scope(name)
Graph.name_scope()使用默认图表的包装器.有关Graph.name_scope()详细信息,请参阅
tf.variable_scope(name_or_scope, reuse=None, initializer=None)返回变量范围的上下文.变量范围允许创建新变量并共享已创建的变量,同时提供检查以避免意外创建或共享.有关详细信息,请参阅变量范围操作方法,此处我们仅提供一些基本示例.
我在一个共享计算资源的环境中工作,也就是说,我们有一些服务器机器配备了几个Nvidia Titan X GPU.
对于小到中等大小的型号,12GB的Titan X通常足以让2-3人在同一GPU上同时进行训练.如果模型足够小以至于单个模型没有充分利用Titan X的所有计算单元,那么与在另一个训练过程之后运行一个训练过程相比,这实际上可以导致加速.即使在并发访问GPU确实减慢了单个培训时间的情况下,仍然可以灵活地让多个用户同时在GPU上运行.
TensorFlow的问题在于,默认情况下,它在启动时会在GPU上分配全部可用内存.即使对于一个小的2层神经网络,我也看到12 GB的Titan X已用完.
有没有办法让TensorFlow只分配4GB的GPU内存,如果有人知道这个数量对于给定的模型来说足够了?
我已经在我的ubuntu 16.04中使用第二个答案在 ubuntu的内置apt cuda安装中安装了tensorflow .
现在我的问题是如何测试tensorflow是否真的使用gpu?我有一个gtx 960m gpu.当我import tensorflow这是输出
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
Run Code Online (Sandbox Code Playgroud)
这个输出是否足以检查tensorflow是否正在使用gpu?
tensorflow ×10
python ×6
avx ×1
cpu ×1
model ×1
nvidia-titan ×1
pip ×1
simd ×1
ubuntu ×1
x86 ×1