当前位置:首页 » 《随便一记》 » 正文

Kaggle,上传,GPU,下载

18 人参与  2023年04月10日 08:01  分类 : 《随便一记》  评论

点击全文阅读


遇到没GPU想训练模型的情况,CPU跑好久,可利用Kaggle的云GPU。

1、注册参考[1],其中,kaggle官网: 地址

2、进入主页,可用creat创建nootbook,之后可按正常jupyter的操作进行

 3、上传数据

        可利用Kaggle上的线上的数据集,如果想利用自己的数据来训练模型,需从本地上传

(1)右上方的Add data

(2)上传自己的数据集
点击upload a dataset,dataset取名,然后选择browse files上传文件。最好将文件压缩之后上传,这样比较快。上传压缩包后kaggle会自动解压。

 上传完成之后点击Create,正在处理你的数据集时,不要点击别的地方。

运行下述代码可查看数据路径[4]

import osfor dirname, _, filenames in os.walk('/kaggle/input'):    for filename in filenames:        print(os.path.join(dirname, filename))

4、编写代码,训练

(1)上传的文件无法在kaggle上进行修改,需要copy到输出文件夹中,

上传文件的进度如果始终为0,则需要科学上网上传数据。

上传的文件会放置在\kaggle\input下,这个目录只能读,而/kaggle/working是放输出文件的,可读可写,但如果不点右上角的Save version,输出文件并不会保存。

将数据集和代码都压缩成一个zip文件,上传,kaggle会自动将其解压缩,从kaggle读取文件名,会发现少了.zip后缀。在上传数据集时,会让人输入一个名字,作为上传文件的上一层目录,文件名中的中划线会被省略,但是下滑线会自动转为中划线。为方便读写,可将上传到到input下的文件传一份到working目录下,使用shutil包[5]原文链接

import shutilshutil.copytree(r'../input/trydata/image_classification-pytorch', r'./trydata')

使用python的pyautogui包来模拟鼠标操作,就可以刮着了,参考[6]Python 实现按键精灵的功能

因此,为了简单,直接在在notebook中重新写代码

(2)配置运行环境
在settings里配置环境:

(3)运行

直接运行

(4)离线运行

参考:地址

使用GPU训练模型过程中,出现了提示是否继续操作,紧接着就断了连接,里面的产生的数据都消失了,Kaggle如果长时间不动,会自己断掉,判断离开

如果训练模型需要很久,就要后台跑了,并且要保存训练出来的模型。
点击右上角的Save Version,给version取个名,注意选择Save & Run All

 save保存。

左下角的活动会出现各个活动文件

5、下载输出结果

把训练的权值文件下载下来,可以直接点击权值文件并下载。

也可下载整个文件夹,但下载整个文件夹会很慢,参考博客[2]:压缩下载

直接在cell中运行此代码即可[2]

import osimport zipfileimport datetimedef file2zip(packagePath, zipPath):    '''  :param packagePath: 文件夹路径  :param zipPath: 压缩包路径  :return:  '''    zip = zipfile.ZipFile(zipPath, 'w', zipfile.ZIP_DEFLATED)    for path, dirNames, fileNames in os.walk(packagePath):        fpath = path.replace(packagePath, '')        for name in fileNames:            fullName = os.path.join(path, name)            name = fpath + '\\' + name            zip.write(fullName, name)    zip.close()if __name__ == "__main__":    # 文件夹路径    packagePath = '/kaggle/working/'    zipPath = '/kaggle/working/output.zip'    if os.path.exists(zipPath):        os.remove(zipPath)    file2zip(packagePath, zipPath)    print("打包完成")    print(datetime.datetime.utcnow())

下载即可

下载完,可清空kaggle/working下指定文件夹 直接在cell中运行下面代码[2]

import shutilimport osif __name__ == '__main__':    path = '/kaggle/working/model'    if os.path.exists(path):        shutil.rmtree(path)        print('删除完成')    else:        print('原本为空')

=============================================

更多基本介绍,可参考[7]在Kaggle免费使用GPU训练自己的神经网络

参考文献

[1]使用kaggle GPU跑自己的模型_10000hours的博客 

[2]kaggle下载output中的文件

[3]利用kaggle提供的免费GPU完成卫星图片识别任务

[4]使用Kaggle训练模型并下载自己训练的模型

[5]kaggle上传代码包并运行

[6]Python 实现按键精灵的功能

[7]在Kaggle免费使用GPU训练自己的神经网络


点击全文阅读


本文链接:http://zhangshiyu.com/post/59079.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1