Google colaboratory 运行时错误:混合不同的tf.distribute.Strategy对象
您好!我在使用TPU编译模型时遇到了一些问题。部分代码如下:Google colaboratory 运行时错误:混合不同的tf.distribute.Strategy对象,google-colaboratory,tpu,google-cloud-tpu,Google Colaboratory,Tpu,Google Cloud Tpu,您好!我在使用TPU编译模型时遇到了一些问题。部分代码如下: resolver = tf.contrib.cluster_resolver.TPUClusterResolver(TF_MASTER) tf.contrib.distribute.initialize_tpu_system(resolver) strategy = tf.contrib.distribute.TPUStrategy(resolver) with strategy.scope(): model = crea
resolver = tf.contrib.cluster_resolver.TPUClusterResolver(TF_MASTER)
tf.contrib.distribute.initialize_tpu_system(resolver)
strategy = tf.contrib.distribute.TPUStrategy(resolver)
with strategy.scope():
model = create_model()
model.compile(optimizer=tf.keras.optimizers.Adadelta(),loss='categorical_crossentropy',metrics='accuracy'])
我得到了RuntimeError:
你能帮我吗 我通过各种尝试解决了我的问题。您可以重新启动程序或注释代码:
resolver = tf.contrib.cluster_resolver.TPUClusterResolver
tf.contrib.distribute.initialize_tpu_system(resolver)
strategy = tf.contrib.distribute.TPUStrategy(resolver)
with strategy.scope():
model = create_model()
model.compile()
要避免问题相同的问题。TensorFlow的默认版本似乎是1.x。我将代码更改为:(注释3行并添加其他行)
问题解决了。@我终于找到了钥匙,改进了答案。谢谢
try:
# %tensorflow_version only exists in Colab.
%tensorflow_version 2.x
except Exception:
pass
# resolver = tf.contrib.cluster_resolver.TPUClusterResolver('grpc://' + os.environ['COLAB_TPU_ADDR'])
# tf.contrib.distribute.initialize_tpu_system(resolver)
# strategy = tf.contrib.distribute.TPUStrategy(resolver)
resolver = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
tf.config.experimental_connect_to_cluster(resolver)
tf.tpu.experimental.initialize_tpu_system(resolver)
strategy = tf.distribute.experimental.TPUStrategy(resolver)