草庐IT

Tensorflow-gpu

全部标签

python - 带有 Tensorflow 后端的 Keras 是否可以随意强制使用 CPU 或 GPU?

我安装了带有Tensorflow后端和CUDA的Keras。我有时想按需强制Keras使用CPU。不用说在虚拟环境中安装单独的仅CPU的Tensorflow就可以做到这一点吗?如果有怎么办?如果后端是Theano,则可以设置标志,但我还没有听说过可以通过Keras访问的Tensorflow标志。 最佳答案 如果你想强制Keras使用CPU方式1importosos.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID"#seeissue#152os.environ["CUDA_VISIBLE_DEVICE

python - TensorFlow 从文件中保存/加载图形

根据我目前收集到的信息,有几种不同的方法可以将TensorFlow图转储到文件中,然后将其加载到另一个程序中,但我无法找到关于它们如何工作的清晰示例/信息.我已经知道的是:使用tf.train.Saver()将模型的变量保存到检查点文件(.ckpt)中并稍后恢复它们(source)将模型保存到.pb文件中,然后使用tf.train.write_graph()和tf.import_graph_def()(source)从.pb文件加载模型,重新训练,然后使用Bazel(source)将其转储到新的.pb文件中卡住图表以将图表和权重一起保存(source)使用as_graph_def()保

python - 如何在 TensorFlow 中添加正则化?

我在许多使用TensorFlow实现的可用神经网络代码中发现,正则化项通常是通过手动向损失值添加一个附加项来实现的。我的问题是:有没有比手动进行更优雅或推荐的正则化方式?我还发现get_variable有一个参数regularizer。应该如何使用?根据我的观察,如果我们向它传递一个正则化器(例如tf.contrib.layers.l2_regularizer,一个表示正则化项的张量将被计算并添加到一个名为tf.GraphKeys.REGULARIZATOIN_LOSSES。TensorFlow会自动使用该集合(例如,优化器在训练时使用)吗?还是希望我自己使用该集合?

python - 如何在 CPU 上运行 TensorFlow

我在Ubuntu14.04上安装了GPU版本的tensorflow。我在一个GPU服务器上,tensorflow可以在该服务器上访问可用的GPU。我想在CPU上运行tensorflow。通常我可以使用envCUDA_VISIBLE_DEVICES=0在GPU编号上运行。0.如何在CPU之间进行选择?我对用withtf.device("/cpu:0"):重写我的代码不感兴趣 最佳答案 也可以设置环境变量为CUDA_VISIBLE_DEVICES=""无需修改源代码。 关于python-如何

python - Tensorflow 大步论证

我正在尝试理解tf.nn.avg_pool、tf.nn.max_pool、tf.nn.conv2d中的strides参数。documentation反复说strides:Alistofintsthathaslength>=4.Thestrideoftheslidingwindowforeachdimensionoftheinputtensor.我的问题是:4+个整数分别代表什么?为什么卷积网络必须有strides[0]=strides[3]=1?在thisexample我们看到tf.reshape(_X,shape=[-1,28,28,1])。为什么是-1?遗憾的是,文档中使用-1进行

python - TensorFlow中Variable和get_variable的区别

据我所知,Variable是制作变量的默认操作,get_variable主要用于权重共享。一方面,有些人建议在需要变量时使用get_variable而不是原始的Variable操作。另一方面,我只是在TensorFlow的官方文档和演示中看到了get_variable的任何使用。因此,我想了解一些关于如何正确使用这两种机制的经验法则。有什么“标准”原则吗? 最佳答案 我建议始终使用tf.get_variable(...)-如果您需要在任何时候共享变量,这将使重构代码变得更加容易,例如在多GPU设置中(请参阅多GPUCIFAR示例)。

python - 禁用 TensorFlow 调试信息

我所说的调试信息是指TensorFlow在我的终端中显示的有关已加载库和找到的设备等的信息,而不是Python错误。Itensorflow/stream_executor/dso_loader.cc:105]successfullyopenedCUDAlibrarylibcublas.solocallyItensorflow/stream_executor/dso_loader.cc:105]successfullyopenedCUDAlibrarylibcudnn.solocallyItensorflow/stream_executor/dso_loader.cc:105]succe

python - 如何在 tensorflow 中获取当前可用的 GPU?

我有一个使用分布式TensorFlow的计划,我看到TensorFlow可以使用GPU进行训练和测试。在集群环境中,每台机器可能有0个或1个或更多GPU,我想在尽可能多的机器上将我的TensorFlow图运行到GPU中。我发现在运行tf.Session()时,TensorFlow会在日志消息中提供有关GPU的信息,如下所示:Itensorflow/core/common_runtime/gpu/gpu_init.cc:126]DMA:0Itensorflow/core/common_runtime/gpu/gpu_init.cc:136]0:YItensorflow/core/comm

Java GPU 编程

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion是否可以在Java中进行GPU编程?我的意思是不使用native库。当我们切换到gpu时,可以期待多少性能提升?编辑:我不是在看游戏编程,我想做的是硬核数字运算。 最佳答案 支持。Java3D、LWJGL和JOGL支持GLSL(OpenGL着色语言)。编辑:如果您想在GPU上进行平台中立的通用计算,您可以使用OpenCL。尽管功能集和执行环境千差万别

docker - 带有 TensorFlow 后端的 Keras 不使用 GPU

我构建了docker镜像的gpu版本https://github.com/floydhub/dl-docker使用keras版本2.0.0和tensorflow版本0.12.1。然后我运行了mnist教程https://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py但意识到keras没有使用GPU。以下是我的输出root@b79b8a57fb1f:~/sharedfolder#pythontest.pyUsingTensorFlowbackend.Downloadingdatafromhttps://s3.amaz