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从入门到实战教程(新手必备)相关推荐

  1. grread使用例子 lisp_AutoLISP从入门到精通初级教程(新手必备);

    <AutoLISP从入门到精通初级教程(新手必备);>由会员分享,可在线阅读,更多相关<AutoLISP从入门到精通初级教程(新手必备);(36页珍藏版)>请在人人文库网上搜索 ...

  2. js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...

    来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...

  3. vue设置cookie的domain无效_【Vue.js入门到实战教程】16Tailwind 与 Bootstrap 的区别和使用入门...

    来源 | https://xueyuanjun.com/post/22065我们知道,从 Laravel 8 开始,自带前端脚手架代码默认兼容 Tailwind CSS 框架,取代了之前的 Boots ...

  4. 《黑马程序员2023新版黑马程序员大数据入门到实战教程,大数据开发必会的Hadoop、Hive,云平台实战项目》学习笔记总目录

    本文是对<黑马程序员新版大数据入门到实战教程>所有知识点的笔记进行总结分类. 学习视频:黑马程序员新版大数据 学习时总结的学习笔记以及思维导图会在后续更新,请敬请期待. 前言:配置三台虚拟 ...

  5. css3入门到实战教程-孙琪峥-专题视频课程

    css3入门到实战教程-1574人已学习 课程介绍         css3入门到实战教程 课程收益     css3最新入门到实战教程 讲师介绍     孙琪峥 更多讲师课程     高效率学习倡导 ...

  6. NetworkX入门及实战教程

    NetworkX入门及实战教程 环境要求和工具包安装 自带图的绘制 连接表和邻接表创建图 通过连接表edge list创建图 可视化 查看全图参数 保存并载入邻接表 用NetworkX创建图 创建空图 ...

  7. 视频教程-Python框架Djanggo从入门到实战教程(企业级项目实战)-Python

    Python框架Djanggo从入门到实战教程(企业级项目实战) 多年web开发经验,精通HTML.CSS.JavaScript.HTML5.CSS3等Web前端开发技术,技术纯熟,项目经验丰富.授课 ...

  8. 《JavaCV从入门到实战教程合集》介绍和目录

    前言 <JavaCV从入门到实战教程合集>是2016年<JavaCV开发实战教程>和2018年<JavaCV入门教程>2022年<JavaCV音视频实战宝典& ...

  9. Java零基础入门:实战教程(二)

    博主简介: 博客主页:Java知识分享博主 Java零基础入门专栏:Java零基础入门专栏 Java交流社区:飞鸟社区 欢迎阅读,如果文章对你有帮助点赞,支持一下! 推荐阅读 Java零基础入门:概论 ...

最新文章

  1. ios 设备获取idfa_超4成用户选择升级iOS 14,35%苹果设备已无法获取IDFA
  2. Java之ClassLoader基础知识
  3. CentOS7虚拟机之间设置免密登录
  4. ftp 工具_ftp工具软件,五大站长们都爱的ftp工具软件
  5. 32和64位jvm_我应该使用32位还是64位JVM?
  6. [刷题]算法竞赛入门经典(第2版) 4-1/UVa1589 - Xiangqi
  7. Linux kubuntu x64系统下解决QT5.12编辑菜单和工具栏不显示图标问题
  8. Referenced file contains errors (http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd).
  9. CUDA TOOlkit Programming Guide 3. Programming Interface
  10. centOS下安装tomcat详解
  11. Linux下基本TCP socket编程之客户端
  12. 计算机的编译原理pdf,计算机编译原理DK.pdf
  13. 转账功能怎么测试?以支付宝转账到银行卡为例
  14. Third season seventeenth episode,Ross and Rachel can not stay at one place???
  15. 禁止div被拖动 css,【Web前端问题】div在拖动时出现禁止图标
  16. 将Excel数据转换为XML
  17. 用BitmapShader实现圆形图片
  18. 血压计模块|臂式血压计方案
  19. 解读:企微面向服务商进行平台收费模式调整的说明
  20. 【SW系列】计算机案例之草图文字

热门文章

  1. 目标跟踪的训练流程记录
  2. linux macos命令一样吗,macos命令跟Linux命令有什么区别
  3. atoi、stoi 用法
  4. 百加得宣布在欧洲推出“摇出你的未来”计划,通过改变一生的体验帮助失业青年在调酒业开启新未来
  5. 思考的本质-思维及其目的性
  6. linux库的知识(概)
  7. 01分数规划淬炼神体
  8. cocos2dx-3.x ——2.x 到3.x变化
  9. 处理npm i 因版本问题导致的报错(legacy-peer-deps)
  10. 爱立信股价持续下跌 股东欲撤换CEO