用kaggle深度学习 踩坑

kaggle踩坑实录:

kaggle有免费的GPU资源(每周30小时),入门版教程见这里

坑:

1.每次上传dataset都要上传rar文件,且上传后无法编辑修改源文件,想修改只能再次完整上传。

2.注意用pip安装其他版本的软件包时(如scipy由1.7.1到1.2.1).应先安装包再查看版本,否则查看的版本还是原来未重新安装时的版本。

3.整个文件目录为:

kaggle working 这里可创建文件
input 上传的文件都在这里

初始默认的路径是kaggle/working,由于只有这里可以创建文件,故所有的输出文件都要指向这里。
而上传的代码/数据都默认在kaggle/input下。
故运行程序时,需先cd到input文件夹下,然后将代码中所有的输出文件路径都改到working下,否则就会出现OS错误。(注意右上角图形显示的文件结构不是实时的,需刷新才能看到)

4.tensorflow版本问题
kaggle默认的tensorflow版本为2.6,不能通过pip install tensorflow-gpu==1.15来降级来训练1.x的代码,降级后不知道为什么,无法调用GPU(似乎是cuda、cudnn版本不对应)。所以要实现1.x版本在2.x版本上运行。
有两种方法可以实现1.x版本在2.x版本运行:1.通过tensorflow自带模块tf_upgrade_v2将代码升级到2.x,具体见这里和这里。2.另一种方法就是在1.x的代码中忽略2.x的语法开始训练,这种方法只是将1.x版本强行在2.x版本下运行,并不能发挥2.x版本的性能。具体见这里。

5.在notebook中运行后的变量,再次运行不会清空,需丢弃当前TensorFlow的图,见这里。

6.当一段时间不活动时,kernel跑一会儿就会提示:您是否还在编辑?,这时候不论是点取消还是确认,都会让正在运行的notebook断开,然后所有的输出都会消失。这时候的解决办法:可以不运行notebook,直接选择save version—>save & runall来把任务转移到后台,通过查看log来看模型的训练程度,但最后产生的参数文件只能在全部运行完后才能下载。如果想让notebook边训练边保存的话,可以在notebook运行时选择quick save,这种方法就保存当前节点的参数,直接就能把此时的输出文件搞出来。但这样就需要一直保持活动状态防止notebook掉线。详情见这里。

你可能感兴趣的:(深度学习,tensorflow,python)