本文主要补充一些官方可能不会提到的东西
官方教程
强烈推荐上面链接的官方教程, 简单易懂补充
环境变量设置
如果你需要在你的程序中使用 TPU, 那么你需要设置环境变量
export TPU_NAME={your-tpu-name}
TPU内存详解
在我看到的所有官方教程中, 在TPU上都是使用的TPUStrategy
或MirroredStrategy
, 这也就意味着在每个TPU逻辑设备上都存有一个模型
从 官方文档 中可以看到比如TPUv3-8
标注的总内存是128 GiB, 因为有8个逻辑设备, 每个逻辑设备上都有一个模型, 也就意味着训练时模型不能大于128//8=16 GiB
同理在TPUv2-8
上模型不能大于8 GiB
更意味着使用更大的TPU例如v3-64
并不能解决模型内存过大问题
关于如何将模型拆开放在逻辑设备上训练我暂时没有找到相关的文档
关闭默认日志(可选)
TPU 运行过程中会产生大量日志, 如果不关闭默认日志, 可能会花掉你很多钱
有关TPU日志更多的信息, Cloud TPU 审核日志, 日志排除
关闭方法: 左侧菜单 -> Logging -> 日志路由器 -> 关闭名称为 _Default 的日志路由器接收器
我自己几天时间就产生了74GiB的日志, 还是有点恐怖的
一些命令笔记(方便日后查找)
修改机器配置
gcloud compute instances set-machine-type instance1 –zone=europe-west4-a –custom-cpu=1 –custom-memory=6656MB –custom-extensions –custom-vm-type=n1
TPU管理
gcloud compute tpus create my-tpu --zone=europe-west4-a --accelerator-type='v3-8' --version='2.4.1'
gcloud compute tpus stop my-tpu --zone=europe-west4-a
同时创建机器和TPU
export PROJECT_ID={your-project-id}
gcloud config set project $PROJECT_ID
1 | gcloud compute tpus execution-groups create \ |
gcloud compute ssh mnist-tutorial --zone=europe-west4-a
杂七杂八
install rar
https://www.rarlab.com/download.htm
unrar x test.rar