下面记录的训练时间就是所有数据开始训练到生成模型为止的时间,代码中都不包含交叉验证等策略。
已经尝试过的实验如下:
框架 | 数据集 | 代码 | 加速设备 | 平台 | 耗时 |
ResNet | cifar10 | TPU运行Cifar10.ipynb | TPU | Google Colaboratory | 2000s |
XGBoost | ieee-fraud-xgboost-with-gpu-fit-in-40s.ipynb | Tesla P100-PCIE-16GB | KaggleNotebook | 38s | |
XGBoost | IEEE-CIS-Fraud-Detection | ieee-fraud-xgboost-with-gpu-fit-in-40s.ipynb | NVIDIA Corporation GK210GL [Tesla K80] (rev a1) | Google Colaboratory | 15min 39s |
XGBoost | IEEE-CIS-Fraud-Detection | ieee-fraud-xgboost-with-gpu-fit-in-40s.ipynb | Tesla V100-SXM2-16GB | Baidu AIStudio | 30s |
tf.keras.models.Sequential() | MNIST | colab上使用GPU和TPU比较.ipynb(已经提交bug给Tensorflow,暂不可用) | TPU | Google Colaboratory | 44s |
tf.keras.models.Sequential() | MNIST | colab上使用GPU和TPU比较.ipynb(已经提交bug给Tensorflow,暂不可用) | NVIDIA Corporation GK210GL [Tesla K80] (rev a1) | Google Colaboratory | 2min |
torch_xla | MNIST | mnist-training-xrt-1-15.ipynb | TPU | Google Colaboratory | 1min4s |
torch | Pytorch ResNeXt 32x8d CenterCrop-修改数据量 .ipynb | Tesla P100-PCIE-16GB | KaggleNotebook | 约4.5小时/epoch |
如何根据模型选择最佳平台呢?结论是:
XGBoost最佳是Baidu AIStudio
Tensorflow最佳选择是Google Colaboratory
TPU Research Cloud的申请链接是:
https://www.tensorflow.org/tfrc/?hl=zh-cn
注意,不要去问他们设置问题,他们很烦你问设置问题,如果你一次申请完了之后问设置问题,第二次就别想申请了,
他们希望你对google的版面足够熟悉
申请后的配置看了下,略坑,这么点配置根本没法用来打Kaggle.
pkuappleyuchi@cloudshell:~$ df -H
Filesystem Size Used Avail Use% Mounted on
overlay 44G 33G 11G 76% /
tmpfs 68M 0 68M 0% /dev
tmpfs 888M 0 888M 0% /sys/fs/cgroup
/dev/sda1 44G 33G 11G 76% /root
/dev/sdb1 5.2G 11M 4.9G 1% /home
shm 68M 0 68M 0% /dev/shm
overlayfs 1.1M 168k 881k 17% /etc/ssh/ssh_host_rsa_key
tmpfs 888M 713k 887M 1% /run/metrics
overlayfs 1.1M 168k 881k 17% /etc/ssh/keys
tmpfs 888M 0 888M 0% /run/google/devshell
根据[1]可知,TPU的长处是CNN,而不是LSTM.
Reference:
[1]https://blog.csdn.net/weixin_42137700/article/details/89041913