Kaggle从入门到实战教程(新手必备)
Kaggle从入门到实战教程(新手必备)
文章目录:
- 1 kernel的创建
- 1.1 Notebook的kernel的创建(从零开始创建)
- 1.1.1 相关的配置说明
- 1.2 Script的kernel的创建(从零开始创建)
- 1.3 从已有的数据集开始创建kernel
- 2 kaggle创建新的文件
- 2.1 kaggle通过上传创建新的文件
- 2.2 自己手动创建py文件
- 2.3 kaggle如何直接上传完整的项目使用,如何使用`.py文件`
- 3 kaggle如何上传数据
- 4 实战--如何在Kaggle上提交自己的项目结果
- 5 kaggle使用常见问题
- 5.1 上传问题
- 5.2 kaggle上传完数据集之后访问不到
- 5.3 kaggle上传数据`read-only data`
因为自己的电脑GPU是1050Ti,4G显存,有些任务实在跑不起来,学生党也租不起服务器,只能去Kaggle上蹭一下,奈何,网上关于Kaggle的实际操作使用流程太少,即使有也不够细致,只有自己在黑夜中慢慢摸索,特此写下一些自己的摸索过程!
kaggle kernels提供两种规格的docker供食用。
1、CPU型:4 cores 16g内存
2、GPU型:2 cores 14g内存 tesla-p100 16G
登录kaggle之后,顶部导航条第三个就是Kernels
1 kernel的创建
首先打开Kaggle的网站之后,你会看到有New Notebooks
,这里就是新建一个kernel,这个新建kernel就类似自己在本地IDE上创建一个项目。
Kaggle新建kernel有两种方式,这个主要是编辑的环境:
- Notebook:类似Jupyter notebook
- Script:类似Pycharm这种编辑环境
编程语言目前只支持python和R两种
1.1 Notebook的kernel的创建(从零开始创建)
什么叫从零开始创建呢,此时只是创建一个kernel,当前kernel是没有数据的,如果需要数据需要自己上传
1.1.1 相关的配置说明
创建好Notebook
kernel如下:
上图可以看到有:
1、Internet off
2、GPU off
Internet
是否需要联网,如果需要下载东西需要打开
GPU
是否需要使用GPU,如果需要使用GPU要打开
注意:
这两个设置默认都是关闭的,如果需要使用则需要打开,打开之后kernel会重新加载
import os
print(os.getcwd()) # 当前文件所在的路径
print(os.listdir(os.getcwd())) # 在/kaggle/working文件夹下有两个隐藏文件['.ipynb_checkpoints', '__notebook_source__.ipynb']
print(os.listdir("../../"))
print(os.listdir("../"))
print(os.listdir("../input")) # 里面是没有数据的
print(os.listdir("../../kaggle"))# 结果
"""
/kaggle/working
['.ipynb_checkpoints', '__notebook_source__.ipynb']
['bin', 'var', 'mnt', 'etc', 'root', 'home', 'tmp', 'lib', 'sbin', 'proc', 'lib64', 'srv', 'boot', 'opt', 'sys', 'media', 'usr', 'run', 'dev', 'kaggle', '.dockerenv', '.jupyter', 'src', '=2.18', '=3.0.7', '=0.2.4', '=1.3.6', '=0.8.0', '=1.0.2', '=1.1', '=0.6.0', '.theanorc']
['lib', 'input', 'config', 'working']
[]
['lib', 'input', 'config', 'working']
"""!ls -al
# 结果
"""
total 16
drwxr-xr-x 3 root root 4096 Nov 28 06:34 .
drwxr-xr-x 6 root root 4096 Nov 28 06:34 ..
drwxr-xr-x 2 root root 4096 Nov 28 06:34 .ipynb_checkpoints
-rw-r--r-- 1 root root 199 Nov 28 06:34 __notebook_source__.ipynb
"""
主要文件目录如下:
- input:一般用于存放训练数据的文件夹
- config:存放配置文件
- lib
- working :工作路径,主要是我们创建的代码文件的工作目录
- .ipynb_checkpoints
- notebook_source.ipynb
1.2 Script的kernel的创建(从零开始创建)
Script
的kernel创建和Notebook
的kernel创建类似,创建好如下如:
1.3 从已有的数据集开始创建kernel
点进去Cifar10数据集之后,就可以在这个数据集上创建一个kernel,相当是把Cifar10数据集直接放到了新创建kernel的input文件夹
2 kaggle创建新的文件
2.1 kaggle通过上传创建新的文件
我们可以看到:
在两种编辑模式下都有:
- Upload script
- Download script
- Upload notebook
- Download notebook
重点说明:
1、无论是script还是notebook的情况下,你把你当前的代码下载下来都是.ipynb文件
类型
2、无论是script还是notebook的情况下,如果你上传的是.py类型的文件
都会报错:Uploading a kernel failed. Please validate your kernel and try again at a later time.
3、在script下可以上传.ipynb文件
,但是上传之后的文件并不能够运行,因为它不是notebook格式类型
4、在script和notebook的编辑环境下上传新的 .ipynb文件,当前的代码都会被新上传的 .ipynb的代码替换,也就是说无论你上传多少个 .ipynb 文件,最后都只会保存最后一个.ipynb文件
2.2 自己手动创建py文件
如下图所示,可以通过手动创建.py文件
,而且你新建的这个’.py’文件还可以下载下俩,同时也可以新建文件夹
但是:
你新建的这个 .py 文件并不能够打开,也不能在里面写代码,不知道怎么搞,后续探索吧,如果有知道的欢迎留言交流。
2.3 kaggle如何直接上传完整的项目使用,如何使用.py文件
重要! 重要! 重要!
上面分析了这么多,都是基于 .ipynb类型的文件,而且只能够上传一个文件,更重要的是还不能够创建 .py 文件,但是我们项目都会创建很多 .py 文件互相导入,不会使代码过长,那如何在kaggle使用呢?
下面我们一起来看下这个问题怎么破:
1、当前的工作目录是在kaggle/working
目录下,你可以用如下代码查看:
import os
print(os.getcwd())
print(os.listdir(os.getcwd()))
# 结果
"""
/kaggle/working
['__notebook_source__.ipynb', '.ipynb_checkpoints']
"""
2、改变当前的工作目录
此时我们把当前的工作目录改到了input目录
下我们上传的项目,这样就可以直接使用我们在项目中的.py文件
啦
""" change working directory """
import osif os.path.basename(os.getcwd()) == 'working':os.chdir('../input/tf-gan-code-20181007/transparent_latent_gan_kaggle_2018_1007/transparent_latent_gan_kaggle_2018_1007')
print('current working directory is {}'.format(os.getcwd()))print(os.getcwd())
print(os.listdir(os.getcwd()))
# 结果
"""
current working directory is /kaggle/input/tf-gan-code-20181007/transparent_latent_gan_kaggle_2018_1007/transparent_latent_gan_kaggle_2018_1007
/kaggle/input/tf-gan-code-20181007/transparent_latent_gan_kaggle_2018_1007/transparent_latent_gan_kaggle_2018_1007
['src', 'data', 'asset_model', 'configs', '.gitignore', 'asset_results', 'LICENSE', 'tests', 'README.md']
"""
问题待续:
如果我们开发好的项目可以直接通过这种方式上传到input文件夹,通过更改工作目录使用,但是如果文件需要修改,我们是否还是每次都需要进行上传,这样感觉比较麻烦,不知道有没有人知道解决方案,欢迎留言交流
3 kaggle如何上传数据
kaggle创建新的kernel如何上传数据,一共有两种方式,点击Add Data
就可以看到
两种方式:
1、上传自己本地的数据集,这个一般比较慢
2、直接使用kaggle上现有的数据集,当然它也是需要下载的,但是相对自己本地是数据集比较快一点。
注意:
1、 上传的数据文件都放在了
input文件夹
下
2、所有的上传的数据集只能够读取read-only data
4 实战–如何在Kaggle上提交自己的项目结果
未完待续
5 kaggle使用常见问题
5.1 上传问题
报错:
Uploading a kernel failed. Please validate your kernel and try again at a later time.
在Notebook kernel
下上传文件报错,这里上传的时候只能够上传.ipynb类型的文件
,我之所以会出现这个错误就是由于上传的是.py
文件,所以上传之前要确定文件的类型
5.2 kaggle上传完数据集之后访问不到
每次创建的时候都会让创建一个数据的标题(Enter Dataset Title
),其实是相当于数据存放的文件夹(即默认会创建一个以这个标题的文件夹,并把上传的数据放到这个文件夹中),如上图所我上传的文件是options.py文件
,输入的数据标题为options_args
。
- 数据标题为:
options_args
- 上传文件为:
options.py
- 最终上传文件的路径为:
/kaggle/input/options-agrs/options.py
可能细心的同学发现,options-args
是不是写错了,因该是下划线
吧。我一开始也是这么认为的,而且右边的数据文件结构中显示的也是下划线
,但是实时证明这样是访问不到文件的,当我列举了当前文件夹下的文件时,发现显示的是['options-aget', 'my-dataset']
(如图左下角所示)。what ? what ? what ? 但是咱能怎么班呢,只能接受事实呗!!!
注意:
在上传数据给数据命名的时候尽量不要用下划线,否则你不知道kaggle会把你的数据藏到哪里!
5.3 kaggle上传数据read-only data
上传的数据只可读,是真的烦,后面我想改要改一行代码,都要把所有的数据都重新上传一次,人生不怕原地爆炸后,就怕重头再来呀
。我先单独上传已经修改好的options.py文件
。然后使用shutil模块
把修改好的文件移动到input/my-dataset/ganimation_replicate
文件夹下,结果就告诉我该文件夹下的文件只能够读取,因此不能够进行写入操作。顿时我,我,我.....FK !
无奈,只能够重新上传所有的文件和代码了,希望有知道如何解决这个问题的童鞋,能够给予帮助!蟹蟹呀
参考:
1、参考1:https://zh.d2l.ai/chapter_deep-learning-basics/kaggle-house-price.html
2、参考2:https://zh.d2l.ai/chapter_computer-vision/kaggle-gluon-dog.html
3、参考3:https://github.com/apachecn/Interview
4、参考4:https://karbo.online/dl/kaggle-gpu/
5、参考5:https://zhuanlan.zhihu.com/p/60912138
6、参考6:
7、参考7:
一些开源的数据竞赛项目:
https://github.com/Smilexuhc/Data-Competition-TopSolution
简单先整理一点今天的摸索过程,自然是摸索肯定有很多不足之处,欢迎大家指导,一起交流,争取早日上船!
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠
Kaggle从入门到实战教程(新手必备)相关推荐
- grread使用例子 lisp_AutoLISP从入门到精通初级教程(新手必备);
<AutoLISP从入门到精通初级教程(新手必备);>由会员分享,可在线阅读,更多相关<AutoLISP从入门到精通初级教程(新手必备);(36页珍藏版)>请在人人文库网上搜索 ...
- js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...
来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...
- vue设置cookie的domain无效_【Vue.js入门到实战教程】16Tailwind 与 Bootstrap 的区别和使用入门...
来源 | https://xueyuanjun.com/post/22065我们知道,从 Laravel 8 开始,自带前端脚手架代码默认兼容 Tailwind CSS 框架,取代了之前的 Boots ...
- 《黑马程序员2023新版黑马程序员大数据入门到实战教程,大数据开发必会的Hadoop、Hive,云平台实战项目》学习笔记总目录
本文是对<黑马程序员新版大数据入门到实战教程>所有知识点的笔记进行总结分类. 学习视频:黑马程序员新版大数据 学习时总结的学习笔记以及思维导图会在后续更新,请敬请期待. 前言:配置三台虚拟 ...
- css3入门到实战教程-孙琪峥-专题视频课程
css3入门到实战教程-1574人已学习 课程介绍 css3入门到实战教程 课程收益 css3最新入门到实战教程 讲师介绍 孙琪峥 更多讲师课程 高效率学习倡导 ...
- NetworkX入门及实战教程
NetworkX入门及实战教程 环境要求和工具包安装 自带图的绘制 连接表和邻接表创建图 通过连接表edge list创建图 可视化 查看全图参数 保存并载入邻接表 用NetworkX创建图 创建空图 ...
- 视频教程-Python框架Djanggo从入门到实战教程(企业级项目实战)-Python
Python框架Djanggo从入门到实战教程(企业级项目实战) 多年web开发经验,精通HTML.CSS.JavaScript.HTML5.CSS3等Web前端开发技术,技术纯熟,项目经验丰富.授课 ...
- 《JavaCV从入门到实战教程合集》介绍和目录
前言 <JavaCV从入门到实战教程合集>是2016年<JavaCV开发实战教程>和2018年<JavaCV入门教程>2022年<JavaCV音视频实战宝典& ...
- Java零基础入门:实战教程(二)
博主简介: 博客主页:Java知识分享博主 Java零基础入门专栏:Java零基础入门专栏 Java交流社区:飞鸟社区 欢迎阅读,如果文章对你有帮助点赞,支持一下! 推荐阅读 Java零基础入门:概论 ...
最新文章
- ios 设备获取idfa_超4成用户选择升级iOS 14,35%苹果设备已无法获取IDFA
- Java之ClassLoader基础知识
- CentOS7虚拟机之间设置免密登录
- ftp 工具_ftp工具软件,五大站长们都爱的ftp工具软件
- 32和64位jvm_我应该使用32位还是64位JVM?
- [刷题]算法竞赛入门经典(第2版) 4-1/UVa1589 - Xiangqi
- Linux kubuntu x64系统下解决QT5.12编辑菜单和工具栏不显示图标问题
- Referenced file contains errors (http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd).
- CUDA TOOlkit Programming Guide 3. Programming Interface
- centOS下安装tomcat详解
- Linux下基本TCP socket编程之客户端
- 计算机的编译原理pdf,计算机编译原理DK.pdf
- 转账功能怎么测试?以支付宝转账到银行卡为例
- Third season seventeenth episode,Ross and Rachel can not stay at one place???
- 禁止div被拖动 css,【Web前端问题】div在拖动时出现禁止图标
- 将Excel数据转换为XML
- 用BitmapShader实现圆形图片
- 血压计模块|臂式血压计方案
- 解读:企微面向服务商进行平台收费模式调整的说明
- 【SW系列】计算机案例之草图文字