使用 GPU 加速深度学习的训练是很关键的,对于缺少计算资源的人来说,在 Kaggle 上使用 GPU 训练模型是一个相对不错的体验。但是,如果,你的输出结果是图片,那该如下将训练后的图片下载到本地呢?
我尝试了很多办法,最终想到一个相对不错的点子:将输出的图片打包为 ZIP 文件。具体操作如下:
上传需要训练的模型与数据(以 ZIP 的形式):https://www.kaggle.com/xinzone/demotest
然后以此数据集创建一个 kernel:
选中 Notebook:
这样便可以设置使用 GPU:
使用调试你的代码,切换到数据集与项目所在目录:
cd ../input/gcanet/
运行代码
!python test.py --task dehaze --gpu_id 0 --indir examples --outdir /kaggle/working/imgs
这里需要注意的是你的项目和数据是只读的,无法向其中写入其他内容,因而,需要将图片的输出放在可以进行写操作的 kaggle/working 目录中,即 参数 --outdir /kaggle/working/imgs。将输出的图片放在 imgs 下面。
这样,如果直接 Commit 在你的 kaggle 页面将可以看到 imgs 下的图片的可视化,但是无法下载。
为了可以下载,你需要将 imgs 打包为 ZIP 文件:
from pathlib import Path
import zipfile
img_root = Path('/kaggle/working/imgs')
with zipfile.ZipFile('imgs.zip', 'w') as z:
for img_name in img_root.iterdir():
z.write(img_name)
这样,在 /kaggle/working 下面便多了 imgs.zip 文件:
ls /kaggle/working
输出:
__notebook_source__.ipynb imgs/ imgs.zip
然后,将最终结果进行提交:
这样,便可以下载输出的图片了:
最终的成果展示,可以直接查看我的 Kaggle,如果觉得有用,可以 Fork 并点赞。