【问题标题】:Can't get $TPU_NAME environment variable to work properly无法让 $TPU_NAME 环境变量正常工作
【发布时间】:2020-11-24 19:32:09
【问题描述】:

我是新手!我正在尝试在 Kaggle 内核上从头开始训练 BERT 模型。无法让 BERT run_pretraining.py 脚本在 TPU 上运行。虽然在 CPU 上工作正常。我猜问题出在 $TPU_NAME 环境变量上。

!python run_pretraining.py \
--input_file='gs://xxxxxxxxxx/*' \
--output_dir=/kaggle/working/model/ \
--do_train=True \
--do_eval=True \
--bert_config_file=/kaggle/input/bert-bangla-test-config/config.json \
--train_batch_size=32 \
--max_seq_length=128 \
--max_predictions_per_seq=20 \
--num_train_steps=20 \
--num_warmup_steps=2 \
--learning_rate=2e-5 \
--use_tpu=True \
--tpu_name=$TPU_NAME

【问题讨论】:

    标签: tensorflow kaggle bert-language-model google-cloud-tpu


    【解决方案1】:

    好的,我找到了一个菜鸟解决方案:P

    运行:

    import os
    os.environ
    

    从返回的字典中,可以得到地址。只需复制粘贴它或其他东西。格式为 'TPU_NAME': 'grpc://xxxxxxx'。

    【讨论】:

      【解决方案2】:

      如果脚本使用 tf.distribute.cluster_resolver.TPUClusterResolver() (https://www.tensorflow.org/api_docs/python/tf/distribute/cluster_resolver/TPUClusterResolver),那么您可以简单地实例化 TPUClusterResolver 而无需任何参数,它会自动获取 TPU_NAME (https://github.com/tensorflow/tensorflow/blob/v2.3.0/tensorflow/python/tpu/client/client.py#L47)。

      【讨论】:

        猜你喜欢
        • 2021-04-17
        • 1970-01-01
        • 2013-09-26
        • 2013-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-18
        相关资源
        最近更新 更多