我想用Google (GPU),Keras和Tensorflow来训练几个CNN架构。由于经过训练的模型由于GPU的支持不能重复,所以我想对模型进行多次训练,并确定结果的均值和标准差。我完全不确定我是否至少应该试着使模型的可重复性最小?例如,在程序开始时使用以下代码:
import numpy
import tensorflow as tf
import random as rn
import os
os.environ['PYTHONHASHSEED']='0'
np.random.seed(1)
rn.seed(1)
tf.set_random_seed(
我正在使用tensorflow在一台机器上训练几个GPU中的模型。然而,我发现速度比在一个GPU上训练要慢得多。我想知道tensorflow是否在不同的GPU中并行地或顺序地执行子模型。例如:
x = 5
y = 2
with tf.device('/gpu:0'):
z1 = tf.multiply(x, y)
with tf.device('/gpu:1'):
z2 = tf.add(x, y)
/gpu:0和/gpu:1中的代码是否按顺序执行?如果按顺序排列,如何使这两个部分并行执行?假设这两个部分不相互依赖。
我正在使用现有的模型来训练一个基于Tensorflow和Keras的CRNN模型。我正在使用anaconda-navigator来训练模型。 在训练模型时,它似乎没有使用GPU,因为我的GPU使用率为5-6%。我附加了顶级-i命令Nvidia Xserver的图像,而且我的gpu没有被Tensorflow拾取,因为tf.test.gpu_device_name()只显示CPU,如下面的tf.test.gpu_device_name() Tensorflow and Keras Versions in anaconda top -i output屏幕截图所示。
目前,我已经安装了Tensorflow CPU和GPU,用于木星笔记本。在此之前,我使用了CPU版本,因为我不需要GPU的性能.然而,现在我正在用我的GPU训练一个盗梦空间模型,我想访问Tensorboard。
我以前使用CPU版本时遇到的问题是错误:Your CPU supports instructions that this Tensorflow binary was not compiled to use: AVX2。我在其他堆栈溢出问题中读过关于AVX2的文章,据我所知,这是由于我使用的Tensorflow的cpu版本。
然而,现在我正在使用gpu版本的Tensorflow (在朱庇
1.我训练了我的GPU深度学习模型。
import keras
model.save('trained_model.h5')
和我想要加载模型,并使用
模型= load_model('trained_model.h5')
但是得到了以下错误
tensorflow.python.framework.errors_impl.InternalError: CUDA runtime implicit initialization on GPU:0 failed. Status: out of memory
如何在CPU上加载经过训练的模型?
目前,我在mac os上安装Tensorflow GPU时遇到了问题。
我已经卸载了tensorflow 1.14,并试图安装tensorflow 1.14 GPU来训练模型。
(deepspeech-venv) Chabanis-MacBook-Pro:Deepspeech chabani$ pip3 install 'tensorflow-gpu==1.14.0'
Collecting tensorflow-gpu==1.14.0
ERROR: Could not find a version that satisfies the requirement tensorf
我遇到的问题是,我不能成功地把我的训练批次分成多个GPU。如果使用来自multi_gpu_model的tensorflow.keras.utils,则tensorflow将在所有可用的gpu(例如2)上分配全部内存,但如果监视nvidia,则只使用第一个gpu (gpu)达到100%。
我现在用的是tensorflow 1.12
单装置试验
model = getSimpleCNN(... some parameters)
model .compile()
model .fit()
正如预期的那样,数据由cpu加载,模型在gpu上运行,gpu利用率为97% - 100%:
创建mult