一个简单的更改就可以让PyTorch读取表格数据的速度提高20倍( 三 )


附录:运行基准测试
您可以自己查看结果 , 以下是复制实验的说明 。 如果您已经安装了本地GPU和PyTorch , 则可以跳过前两个步骤!

  • 使用您最喜欢的GPU云提供商创建一个新的Ubuntu 18.04实例(我使用Genesis cloud-注册后可获得$ 50的免费积分 , 足以运行此实验数百次!) 。
  • 使用Lambda Stack一口气安装CUDA和PyTorch :(这样做后请不要忘记重启!)
LAMBDA_REPO=$(mktemp) &&wget -O${LAMBDA_REPO} https://lambdalabs.com/static/misc/lambda-stack-repo.deb &&sudo dpkg -i ${LAMBDA_REPO} && rm -f ${LAMBDA_REPO} &&sudo apt-get update &&sudo apt-get — yes upgrade &&sudo apt-get install — yes — no-install-recommends lambda-server &&sudo apt-get install — yes — no-install-recommends nvidia-headless-440 nvidia-utils-440 &&sudo apt-get install — yes — no-install-recommends lambda-stack-cuda
  • 下载数据集
wget http://archive.ics.uci.edu/ml/machine-learning-databases/00280/HIGGS.csv.gz
  • 克隆存储库
git clone git@github.com:hcarlens/pytorch-tabular.git
  • 运行基准脚本
python3 pytorch-tabular/higgs_benchmark.py如果您在使用GTX 1080Ti的实例(例如我使用的Genesis Cloud)上运行 , 则应获得以下结果:
ubuntu@genesis:~$ python3 pytorch-tabular/higgs_benchmark.py 2020-04-12 15:05:55.961134: Itensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully openeddynamic library libcudart.so.10.0 Epoch 0 done. Epoch 1 done. Epoch 2 done. Epoch 3 done. Epoch 4 done. Epoch 5 done. Epoch 6 done. Epoch 7 done. Epoch 8 done. Epoch 9 done. Epoch 0 done. Epoch 1 done. Epoch 2 done. Epoch 3 done. Epoch 4 done. Epoch 5 done. Epoch 6 done. Epoch 7 done. Epoch 8 done. Epoch 9 done. Standard dataloader: 124.55s/epoch. Custom dataloader: 5.24s/epoch.后台私信回复“20200515”获取FastTensorDataLoader 源代码github地址
编辑:王菁
校对:林亦霖
—完—
想要获得更多数据科学领域相关动态 , 诚邀关注清华-青岛数据科学研究院官方微信公众平台“数据派THU ” 。


推荐阅读