由于自己手头没有GPU资源,所以只能靠免费的GPU勉强做实验。之前使用的是Google Colab,但是用多用久了以后,就特别容易断,断开以后,基本上就寄了。所以又转向了Kaggle。Kaggle的好处就在于不用fq就能上传文件、运行代码,所以更稳定一点,目前我没有遇到跑着跑着突然断了的情况。这篇博客就记录下使用Kaggle的问题。
Q1:如何上传在本地写好的文件和代码?
A1:Kaggle中将你想上传的文件都视为Data,所以在Data这边点击这个上传的图标,输入Data的名字,将本地文件(文件、文件夹等)拖拽到对话框中,点击创建,就可以完成文件的上传。
创建完成以后,就可以在右侧的Input中看到上传的文件:
Q2:如何运行上传的文件?
A2:有两种情况:
① 想在 Notebook的cell中导入上传文件中的函数、类等。
需要先创建一个cell,加入Input的路径,代码如下:
import sys
sys.path.append('../input/mytest')
运行完以后就可以正常写 import语句了。假设test1文件中有一个Test类,则直接写:
from test1 import Test
② 想直接运行上传的py文件。
那就视为命令行运行py文件,需要在命令前面加一个英文的 !。比如,直接运行test1,就直接在cell中输入:
!python /kaggle/input/mytest/test1.py
想快速知道文件的路径也很简单,用鼠标点击文件名后的粘贴按钮即可:
Q3:如何更新上传的文件?
A3:
点击左侧的Datasets
之后再点击Your work,找到刚才建立的Data,点进去
点击右上角的New version
还是像刚才一样,将新的文件拖拽进来就可以了。
这边会出现一个问题,就是如何将新文件上传到文件夹中(比如图中的test文件夹)。如果直接将文件拖拽进来,会保存在根目录下,且无法移动。我的解决方法是,在本地就建好同名的文件夹,将要上传的文件放进去,再将整个文件夹上传,之后Kaggle会自动合并同名文件夹。
之后,回到刚才的Notebook,在右侧Input这边点击Check for updates,就能更新成最新的文件了。
Q4:如何输出文件?
A4:所有的输出文件都会保存在Output中,可以下载到本地查看。
如果是要在代码中写入文件,则需要在你本来的路径前加上”../working”
with open('../working/output.txt', 'w') as f:
f.write('Hello!')
右侧的Output就生成了对应的文件:
Q5:如何更新包的版本?
A5:以Transformers为例,我写博客的时候,内置版本是4.20.1。
但是我想更新到最新的版本,则使用命令:
! pip install --upgrade transformers
注意这里有一个坑。更新完以后,我使用
!pip list
查看transformers的版本,已经成功更新到最新版本。但是我再次运行这段代码
它依然是之前的版本,并没有更新。
解决方法是在右侧Settings找到ENVIRONMENT,选择下面的Always use latest environment。
Q6:如何后台运行程序?
A6:在Notebook中,点击右上角的Save Version。
再选择Save&Run All。
此时就会在左下角看到程序后台运行的记录了,跑完以后可以去查看log和下载输出文件。
有一个坑就是后台运行时间上限是12个小时,到点自动断开,所以超过12小时的程序最好分开运行或者选择别的平台。
文章出处登录后可见!