tensorflow - 无法让 $TPU_NAME 环境变量正常工作
问题描述
我是新手!我正在尝试在 Kaggle 内核上从头开始训练 BERT 模型。无法让 BERTrun_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
解决方案
如果脚本使用的是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)。
推荐阅读
- bash - Bash 中的可选脚本
- c++ - 类容量函数不能正常工作
- css - flexbox 下的缩放转换在 Chrome 和 Firefox 中呈现不同
- angular - Angular 导入 3rd-party JS 库,无需输入
- c++ - Boost Beast 异步 HTTP 客户端 + std::future
- raspberry-pi3 - 控制从网页连接到树莓派的设备
- facebook - Instant Article Builder - 如何选择文章内容的两个区域/元素?
- c# - UWP 应用程序中的 SEHException - 尝试为 SDK 加载 DLL
- angular - 错误 ReferenceError:配置未定义 Angular 7
- python - Python:在for循环中更新父级