草庐IT

python - Tensorflow:在 GPU 和 CPU 上同时进行预测

我正在使用tensorflow,我想通过同时CPU和一个GPU。我尝试创建2个不同的线程来提供两个不同的tensorflowsession(一个在CPU上运行,另一个在GPU上运行)。每个线程在一个循环中提供固定数量的批处理(例如,如果我们总共有100个批处理,我想为CPU分配20个批处理,为GPU分配80个批处理,或者两者的任何可能组合)并组合结果。如果自动完成拆分会更好。然而,即使在这种情况下,批处理似乎也是以同步方式提供的,因为即使将少量批处理发送到CPU并在GPU中计算所有其他批处理(以GPU为瓶颈),我观察到整体相对于仅使用GPU进行的测试,预测时间总是更长。我希望它会更快,

python - 在同一个 GPU 上运行多个 tensorflow 进程不安全吗?

我只有一个GPU(TitanXPascal,12GBVRAM),我想在同一个GPU上并行训练多个模型。我尝试将我的模型封装在一个python程序(称为model.py)中,并在model.py中包含代码以限制VRAM使用(基于thisexample)。我能够在我的GPU上同时运行多达3个model.py实例(每个实例占用的VRAM略低于33%)。奇怪的是,当我尝试使用4个模型时,我收到了一个错误:2017-09-1013:27:43.714908:Etensorflow/stream_executor/cuda/cuda_dnn.cc:371]couldnotcreatecudnnha

python - 导入错误 : No module named 'tensorflow.python' with tensorflow-gpu

我想为keras/tensorflow提供gpu支持,这就是我安装tensorflow-gpu的原因。所以我通过pip安装了tensorflow-gpu:pipinstall--upgradetensorflow-gpu这导致:fromkerasimportbackendasKK.tensorflow_backend._get_available_gpus()>[]然后我找到thisstackoverflowanswer这说明我应该在安装tensorflow-gpu后卸载tensorflow。这导致:UsingTensorFlowbackend.--------------------

python - 多 GPU/Tower 设置 Tensorflow 1.2 Estimator

我想将我的_model_fnforEstimator变成多GPU解决方案。有没有办法在EsitmatorAPI中执行此操作,或者我是否必须明确编码设备放置和同步。我知道我可以使用tf.device('gpu:X')将我的模型放在GPUX上。我还知道我可以遍历可用的GPU名称来跨多个GPU复制我的模型。我还知道我可以为多个GPU使用单个输入队列。我不知道哪些部分(优化器、损失计算)实际上可以转移到GPU以及我必须在哪里同步计算。根据Cifar10示例,我认为我只需要同步梯度。特别是在使用的时候train_op=tf.contrib.layers.optimize_loss(loss=lo

python - 如何在 VirtualBox Ubuntu OS 上安装 tensorflow GPU 版本。主机操作系统是 windows 10

我想使用Anaconda(python3.6)设置深度学习环境。我有安装了Windows的nvidiagetforce1060系统。现在我想在VB中安装Ubuntu操作系统。我可以在基于VB的Ubuntu操作系统中安装Cuda和CuDNN库吗?谁能帮帮我? 最佳答案 您不能在虚拟盒子上使用您的GPU。因为虚拟盒子cannot通过主机GPU。但是,您可以使用python的windows版本,它可以在您的windows机器上使用GPU。Here是windows的安装步骤。安装完cuda,cudnn和anaconda3.6我就用了,$pi

python - Tensorflow 在使用 tf.device ('/cpu:0' 时分配 GPU 内存)

系统信息:1.1.0、GPU、Windows、Python3.5,代码在ipython控制台中运行。我正在尝试运行两个不同的Tensorflowsession,一个在GPU上(执行一些批处理工作),一个在我用于快速测试的CPU上,另一个运行。问题是,当我生成第二个session并指定withtf.device('/cpu:0')时,该session会尝试分配GPU内存并使我的另一个session崩溃。我的代码:importosos.environ["CUDA_VISIBLE_DEVICES"]=""importtimeimporttensorflowastfwithtf.device(

python - Tensorflow 训练期间 GPU 使用率非常低

我正在尝试为10级图像分类任务训练一个简单的多层感知器,这是Udacity深度学习类(class)作业的一部分。更准确地说,任务是对从各种字体呈现的字母进行分类(该数据集称为notMNIST)。我最终得到的代码看起来相当简单,但无论如何我在训练期间总是得到非常低的GPU使用率。我用GPU-Z测量负载,它只显示25-30%。这是我当前的代码:graph=tf.Graph()withgraph.as_default():tf.set_random_seed(52)#datasetdefinitiondataset=Dataset.from_tensor_slices({'x':train_

python - 如何在 GPU 上计算成对距离矩阵

我代码中的瓶颈是我计算pairwisedistancematrix的区域.由于这是迄今为止最慢的部分,我花了很多时间来加速我的代码。我发现很多使用在线文章的加速,但yield微乎其微。因此,我正在寻找一种方法来使用我的GPU创建距离矩阵,以便进一步加快速度。但是,我对使用GPU进行计算知之甚少。谁能帮我做这件事?在我的研究中,我发现了以下内容,但它们都没有使用GPU:Thisarticle很有用,但速度提升很小。Thisarticle提供了有关如何使用cython和numba的信息。这是一个如何计算成对距离矩阵的示例片段:importnumpyasnpfromscipyimportsp

python - 在多个 GPU 上运行相同的模型,但向每个 GPU 发送不同的用户数据

有人在高效的数据并行化方面取得了成功吗?您将相同的模型定义发送到多个GPU,但将不同的用户数据发送到每个GPU?看起来dist-keras可能很有前途。但我很想听听有关按照这些思路采取的任何方法的反馈。我们有用户行为数据:10万个用户,200个字段(单热向量),每个用户30,000条记录。我们在Tensorflow之上使用Keras构建了一个RNN,来预测仅对一个用户采取的下一个Action(在20多个可能的Action中)。在1个GPU上训练大约需要30分钟。(我的盒子有8个GPU)。现在,我们想为所有10万用户构建模型。我们能够使用多GPU方法对单用户数据执行数据并行处理。但由于每

Python 和 gpu OpenCV 函数

我想知道是否可以使用来自here的opencvgpu函数?或者我必须将它包装到python类中。 最佳答案 目前OpenCV2.4.7不支持OpenCV-Python上的GPU模块。这意味着你必须writewrappersyourself. 关于Python和gpuOpenCV函数,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18552551/