我知道,有很多相关的问题,但是它们已经过时了,大部分甚至都在处理TensorFlow 1。
我有1个可被TensorFlow识别的GPU(GeForce 960),因此安装成功。
我不确定这是否是正确的方法,但这就是我训练Keras模型的方式:
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::StartAbort Out of range: End of sequence