Python Tensorflow:使用GPU的列车Keras模型
我知道,有很多相关的问题,但它们已经过时了,大部分问题甚至是关于TensorFlow 1的 我有1个GPU(GeForce 960),这是TensorFlow认可的,因此安装成功 我不确定这是否是正确的方法,但我就是这样训练Keras模型的:Python Tensorflow:使用GPU的列车Keras模型,python,tensorflow,keras,gpu,Python,Tensorflow,Keras,Gpu,我知道,有很多相关的问题,但它们已经过时了,大部分问题甚至是关于TensorFlow 1的 我有1个GPU(GeForce 960),这是TensorFlow认可的,因此安装成功 我不确定这是否是正确的方法,但我就是这样训练Keras模型的: def create_model(): model = Sequential() model.add(Conv2D(128, (3,3), padding="valid")) model.add(layers.BatchNo
def create_model():
model = Sequential()
model.add(Conv2D(128, (3,3), padding="valid"))
model.add(layers.BatchNormalization())
model.add(layers.Activation(activations.relu))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.2))
model.add(Flatten())
model.add(layers.Dense(10, activation="softmax"))
return model
strategy = tf.distribute.MirroredStrategy(devices=["/gpu:0"])
with strategy.scope():
model = create_model()
model.compile(loss="categorical_crossentropy",
optimizer="adam",
metrics=["acc"])
train_dataset, test_dataset = get_dataset()
model.fit(train_dataset,
epochs=20,
verbose=1,
validation_data=test_dataset)
但我遇到了很多问题:
BaseCollectiveExecutor::startPort超出范围:序列结束
是的,GPU在支持和可用的情况下会自动使用,不需要策略,但当我在colab使用TPU进行培训时,我确实需要策略。那是另一回事,对吗?有没有办法检查是否使用了GPU?TPU培训与GPU培训完全不同。对于GPU,在任务开始时,tensorflow应该提示如下内容:创建的tensorflow设备(/job:localhost/replica:0/task:0/device:GPU:0,内存为****MB)->物理GPU(设备:0,名称:****,pci总线id:***),您应该看到所有CUDA、CuDNN库都打开了。您还可以使用watch-nvidiasmi命令检查您的GPU使用情况(如果您使用的是nvidia)。