gpt4 book ai didi

tensorflow - 用 GPU 代替 TPU 训练莎士比亚模型

转载 作者:行者123 更新时间:2023-12-04 03:36:24 27 4
gpt4 key购买 nike

我试图了解使用 TPU 和 GPU 训练模型之间的区别。

这是训练模型部分:

import time

start = time.time()
tf.keras.backend.clear_session()

resolver = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
tf.config.experimental_connect_to_cluster(resolver)
#TPU initialization
tf.tpu.experimental.initialize_tpu_system(resolver)
print("All devices: ", tf.config.list_logical_devices('TPU'))

strategy = tf.distribute.experimental.TPUStrategy(resolver)

with strategy.scope():
training_model = lstm_model(seq_len=100, stateful=False)
training_model.compile(
optimizer=tf.keras.optimizers.RMSprop(learning_rate=0.01),
loss='sparse_categorical_crossentropy',
metrics=['sparse_categorical_accuracy'])

training_model.fit(
input_fn(),
steps_per_epoch=100,
epochs=10
)
training_model.save_weights('/tmp/bard.h5', overwrite=True)

end = time.time()
elapsed_TPU = end - start

print(elapsed_TPU)

(来源:https://colab.research.google.com/github/tensorflow/tpu/blob/master/tools/colab/shakespeare_with_tpu_and_keras.ipynb)

代码的顶部用于 TPU 初始化。有什么方法可以改变它,使其可以适应在 GPU 上运行吗?

最佳答案

除非您拥有 TPU 或多个 CPU/GPU,否则您无需使用 tf.distribute.Strategy。参见 here .您可以在没有策略的情况下将其作为标准 Tensorflow 代码运行。

import time

start = time.time()
tf.keras.backend.clear_session()

training_model = lstm_model(seq_len=100, stateful=False)
training_model.compile(
optimizer=tf.keras.optimizers.RMSprop(learning_rate=0.01),
loss='sparse_categorical_crossentropy',
metrics=['sparse_categorical_accuracy'])

training_model.fit(
input_fn(),
steps_per_epoch=100,
epochs=10
)
training_model.save_weights('/tmp/bard.h5', overwrite=True)

end = time.time()
elapsed_TPU = end - start

print(elapsed_TPU)

关于tensorflow - 用 GPU 代替 TPU 训练莎士比亚模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66804781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com