- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用 Keras 和 tensorflow 作为后端。我有一个编译/训练模型。
我的预测循环很慢,所以我想找到一种方法来并行化 predict_proba
调用以加快速度。我想获取(数据)批处理列表,然后根据可用的 gpu,对这些批处理的子集运行 model.predict_proba()
。
本质上:
data = [ batch_0, batch_1, ... , batch_N ]
on gpu_0 => return predict_proba(batch_0)
on gpu_1 => return predict_proba(batch_1)
...
on gpu_N => return predict_proba(batch_N)
我知道在纯 Tensorflow 中可以将操作分配给给定的 gpu ( https://www.tensorflow.org/tutorials/using_gpu )。但是,我不知道这如何转化为我的情况,因为我已经使用 Keras 的 api 构建/编译/训练了我的模型。
我曾想,也许我只需要使用 python 的多处理模块并为每个 gpu 启动一个将运行 predict_proba(batch_n)
的进程。我知道这在理论上是可能的,因为我的另一个 SO 帖子:Keras + Tensorflow and Multiprocessing in Python .然而,这仍然让我陷入不知道如何实际“选择”一个 gpu 来运行该进程的困境。
我的问题归结为:当使用 Tensorflow 作为 Keras 的后端时,如何跨多个 GPU 对 Keras 中的一个模型进行并行预测?
此外,我很好奇是否仅用一个 gpu 就可以进行类似的预测并行化。
将不胜感激高级描述或代码示例!
谢谢!
最佳答案
我创建了一个简单示例来展示如何跨多个 GPU 运行 keras 模型。基本上,创建了多个进程,每个进程都拥有一个 gpu。要在进程中指定 gpu id,设置环境变量 CUDA_VISIBLE_DEVICES 是一种非常简单的方法 (os.environ["CUDA_VISIBLE_DEVICES"])。希望这个 git repo 可以帮助你。
https://github.com/yuanyuanli85/Keras-Multiple-Process-Prediction
关于python - 凯拉斯 + tensorflow : Prediction on multiple gpus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42409884/
我正在尝试使用 pytorch 来进行生成式人工智能。如该视频所示: https://www.youtube.com/watch?v=_pIMdDWK5sc 我导入所有内容,如图所示: import
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
是否可以为 Caffe(尤其是 pyCaffe)设置所有 GPU? 就像是: caffe train -solver examples/mnist/lenet_solver.prototxt -gpu
我正在开发一个应用程序,它可以在 GPU (OpengGL ES 2.0) 上实时过滤相机预览流。它类似于著名的应用程序“纸相机”(付费)和“卡通相机”(免费)。 它在我的 galaxy s2 上运行
我可能遗漏了一些明显的东西,但我正在试验 gpu.js并得到一些奇怪的结果。我只是想确保我没有做一些明显愚蠢的事情(这很可能)。 不确定这是否是我正在做的事情的问题,或者是使用 WebGL 通过 gp
我正在使用多个 GPU 练习 tensorflow。每个 gpu 计算的平均梯度。但是,当我的优化器是 AdamOptimizer 时它不起作用。当我使用 GradientDescent 时,它总是有
这是一个相当简单的问题,但谷歌搜索似乎没有答案,所以。 我想知道的是,如果我有两 block 能够运行 cuda 的 gpu 卡(相同),我的内核是否可以跨越这些卡?或者它绑定(bind)到一张卡或另
我使用 Keras 和 tensorflow 作为后端。我有一个编译/训练模型。 我的预测循环很慢,所以我想找到一种方法来并行化 predict_proba 调用以加快速度。我想获取(数据)批处理列表
我们使用 SLURM 来管理一个小型本地集群。我们管理的一个关键资源是 GPU。当用户通过 --gpus=2 请求 GPU 时CUDA_VISIBLE_DEVICES使用 SLURM 分配给用户的 G
APARAPI project self 描述为: Aparapi allows Java developers to take advantage of the compute power of G
先说明一下我的运行环境: win10x64 cuda9.1 and cudnn7 gtx1080Ti x2 i7-6850k 我用tensorflow的c++版本写了一个程序,读取pb文件,
我使用 Google Colab 训练模型,但如图所示,当我输入“torch.cuda.is_available()”并且输出为“true”时。然后我运行代码,但出现错误 RuntimeError:
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
据我所知,“现代”CPU 有相当令人印象深刻的例程来处理二进制数据,例如通过相同的操作流式传输许多数据。 临时我找不到一个库来使用那些 CPU 或 GPU 硬件制作简单的指令(在 GB 内存中设置每
我正在使用基于 pytorch 的 repository安装步骤指定使用此 setup.py file 运行 python setup.py develop .我一直在使用 1080Ti 和 1080
我正在按照此处列出的步骤操作: http://www.nvidia.com/object/gpu-accelerated-applications-tensorflow-installation.ht
我目前使用 Docker 19.03 和 Kubernetes 1.13.5 以及 Rancher 2.2.4。从 19.03 开始,Docker 就通过 --gpus 正式支持原生 NVIDIA
我是一名优秀的程序员,十分优秀!