用kaggle深度学习 踩坑

kaggle踩坑实录:

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

坑:

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

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

3.整个文件目录为:

kaggleworking这里可创建文件
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掉线。详情见这里

20230505补充:
kaggle是只读系统,无法在系统中删除、修改、移动文件。因此每次修改py脚本后都要重新上传文件。如训练数据很大则会很麻烦。实际上可以通过在Dataset中创建new version来解决,每次创建new version时,可以从原来的版本中选择要保留的文件,删除旧文件,然后上传此次更新的文件( 注意上传文件夹时只能拖拽不能Browse )。另外,创建Dataset后,上传文件时,上传的文件无需再单独放一个文件夹里,按照文件上传即可,否则在用new version更新文件时还需要将更新的文件单独放在上述文件夹中。
此外,在notebook中使用new version的数据时,需要重启notebook才能显示新的文件:
在这里插入图片描述

  • 10
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值