# kaggle使用指南
**Repository Path**: zy_12341234/kaggle-users-guide
## Basic Information
- **Project Name**: kaggle使用指南
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-07-06
- **Last Updated**: 2024-07-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 打比赛
## 1、进入要打的比赛

## 2、创建一个Notebook
这里有两种办法
### 1、新建一个空的Notebook
第一种是自己新建一个空的Notebook,点击New Notebook即可

创建后是这样的

### 2、在别人代码的基础上编辑
第二种办法是挑一个前人的代码来接着编辑(一般可以选择Most Votes最多投票,Most Comments最多评论,Public Score公榜排名)

进入代码页面后可以看到这份提交的一系列信息:
#### Notebook
**Notebook**:别人的代码

#### Input
Input:输入,肯定有Input Data也就是数据集文件

如果有使用自己上传的预训练权重,数据集的话还会有Models,Dataset

#### Output
Output:输出,一般会有预测结果,还有训练后的模型权重

#### Logs
Logs:提交时候的日志,里面会有提交时的输出,对应每个时间

#### Comments
Comments:评论

回到正题,只需要点击右上角的Edit My Copy就可以把别人的代码拿来自己用
如图就可以了

## 3、基础操作
一些jupyter notebook的操作就不多说了,主要说说别的操作
### 1、使用gpu
右侧栏找到Session options,设置如图(每周30个小时P100,嘎嘎良心)
注意:控制使用GPU的是ACCELERATOR选项。INTERNET选项一定要勾选,否则用不了网络(不能pip install等)

测试gpu是否启动成功可以用以下两种方法

### 2、上传
右侧栏找到Input

#### Add Input
Add Input适用于添加一些kaggle公开的模型,数据集,别人的notebook。
或者说添加一些自己之前添加过,有备份的东西(备份容量将近300G,真他妈良心)

#### Upload
Upload为上传模型或数据集。
##### 上传数据集
上传数据集很简单,直接上传zip压缩文件就行,记得起一个名字。等上传完毕点create就行了

上传后无需解压,直接就能用

###### 高级操作
【使用kaggle平台GPU运行自己本地项目】https://www.bilibili.com/video/BV1UQ4y1u7dU?vd_source=a77be1576ac9581dd233524106393c43中提到了:如果数据集目录太深会出现什么问题(虽然我还没遇到)
解决办法是通过`cp -r 文件原本路径 文件目标路径`将文件拷贝到层级更浅的目录,比如:

##### 上传模型
上传模型稍微复杂一点点

###### New Model
如果选择左边New Model就会上传一个新的模型,然后要选择深度学习框架,选择后下面还会提示模型的后缀,最后再拖动上传就可以了。上传完后直接Back to notebook就行。

###### New Variation
如果选择右边New Variation,需要选择一个之前上传过的模型,然后更新他

### 3、提交
当你调试好代码可以提交了的时候,从右侧栏找到Submit to competition,点击Submit

然后取一个提交名称(似乎没啥意义),点击Submit

这时左侧就会出现正在提交
点击三个点,Open Logs in Viewer

就可以实时看到提交状况,能看到每一个时刻的输出

如果不出意外的话,输出完下面几行NbConvertApp就会提交成功

如图提交成功

### 4、other操作
**notebook改名,左上角**

**右侧栏Output这里其实是notebook的工作目录,如果代码中要用到相对路径可以参考这个**

**如果代码输出太多,看的费劲,可以右键Clear Outputs或Clear All Outputs**

# 白嫖GPU
### 1、将自己的项目压缩为zip格式
注意,自己的项目最好现在自己电脑上跑通,并且提供尽量多的参数接口(因为上传到kaggle后,项目的权限就变为只读)
### 2、上传项目
在Input-Upload中的dataset中上传项目(一定要dataset,不能用model,因为model对后缀有要求,而dataset只要求上传zip就行)
### 3、配置环境
终端内`pip install -r requirements.txt`,注意requietments文件的路径
### 4、进入项目路径
这一点非常重要,否则项目中的相对路径都会报错
### 5、运行py文件
通过`!python 文件名 参数`就可以运行训练或预测脚本,比如:
```
训练:
!python /kaggle/input/yolov5-messi/yolo_dataset/train.py --batch-size 16 --project /kaggle/working/runs/train
预测:
!python /kaggle/input/yolov5-messi/yolo_dataset/detect.py --weight /kaggle/working/exp/weights/best.pt --project /kaggle/working/runs/detect/
```
### 6、注意
训练或者预测的时候需要把项目的各种输出(比如权重,数据,tensorboard,预测视频等)的保存路径设为Output中的路径。因为Input中的文件是只读的,没有权限进行保存或更改