我正在尝试使用 BERT 训练模型。对于 BERT 参数,我希望能够使用我自己的数据集微调参数。
我正在使用 Google Cloud 平台和 TPU 来加速训练过程。
我正在关注本教程,只是替换了以下几行:
替换:
tf.estimator.Estimator(
model_fn=model_fn_par,
config=run_config_par,
params={"batch_size": BATCH_SIZE})
和:
tf.contrib.tpu.TPUEstimator(
model_fn=model_fn_par,
config = run_config_par,
use_tpu=FLAGS.use_tpu, train_batch_size = BATCH_SIZE,predict_batch_size=BATCH_SIZE)
替换:
run_config_par = tf.estimator.RunConfig(
model_dir=OUTPUT_DIR,
save_summary_steps=SAVE_SUMMARY_STEPS,
save_checkpoints_steps=SAVE_CHECKPOINTS_STEPS)
和:
run_config_par = tf.contrib.tpu.RunConfig(
master=master,
evaluation_master=master,
model_dir=FLAGS.model_dir,
session_config=tf.ConfigProto(
allow_soft_placement=True, log_device_placement=True),
tpu_config=tf.contrib.tpu.TPUConfig(FLAGS.iterations,
FLAGS.num_shards))
并定义了以下参数:
my_project = MY_PROJECT_NAME
my_zone = 'us-central1-b'
cluster_resolver = tf.contrib.cluster_resolver.TPUClusterResolver(
tpu=[MY_TPU_NAME],
zone=my_zone,
project=my_project)
master = cluster_resolver.get_master()
运行以下行时:
estimator_par.train(input_fn=train_input_fn_par, max_steps=num_train_steps)
笔记本尝试连接到以下地址 120 次但不成功并返回超时错误:
Querying Tensorflow master (grpc://10.240.1.2:8470) for TPU system metadata.
我已经创建并实例化了 TPU,并将笔记本运行时类型也设置为 TPU。有人知道为什么我无法使用笔记本连接到 TPU 吗?