kaggle添加、修改自己的模块和文件

Kaggle调用自定义模块方法_Segment*Fault的博客-CSDN博客

​​​​​​Kaggle:修改上传文件、使用自定义的包/脚本_我已经想不出昵称了的博客-CSDN博客_kaggle上传代码

step1:将模块、代码上传到kaggle

1.1 创建自定义的模块

假设自定义的模块文件夹名为【document】,文件夹内的代码文件为test5.py。其中test5.py代码内容如下:

# test5.py
def my_print():
    print('hello world')

1.2 上传到kaggle

将document文件夹作为一个模块上传到kaggle,作为一个dataset:

在弹出的窗口中输入数据集名称和模块名称,其中:

【dataset_title】:数据集标题。用于在kaggle的Dataset界面作为名称。

m【oduleName】:模块的名称。在notebook的input目录导入之后显示的名称,命名时用下横杠【_】会报错,但是如果用中横杠【-】,在代码中import的时候又会报错,所以命名时不建议使用横杠。

【Update files】:将document文件夹拖拽进去,网站会自动检测是否有重复文件。

最后再点击【create】

 step2:在notebook中加载模块

在新建的notebook的【Data】项中点击【Add Data】:

在弹出的窗口中选择【Your Datasets】选项,并选择刚才上传的数据集【dataset_title】,点击【Add】

添加后,在notebook界面可看到在【input】目录中有名称为【modulename】的模块,文件结构与上传的一样:

 step3:在notebook中调用模块

 调用前,需要添加【input】目录,随后用import即可调用模块,代码如下:

# 添加input目录
import sys
sys.path.append('../input')    
print(sys.path)

# 调用模块
from modulename.document.test5 import my_print
my_print()

 step4:修改、添加模块中的文件

如果要修改或者增减模块的文件,需要首先更新数据集版本,然后再notebook中刷新模块的版本号。具体操作如下:

1、在kaggle的【datasets】中找到自定义的数据集,并打开数据集。

 2、打开数据集后,点击页面底部的【new version】,更新数据集版本:

 3、在弹出的窗口中,将修改过的模块【document】重新上传到数据集中,上传时系统会记录上传的时间作为版本号,见下图【Date Update 2022./06/28】:

 4、更新完数据集后,回到notebook,将光标移到模块上,会有【more actions选项】,并选择其中的【pin to version】更新模块。

5、在弹出的窗口中选择要更新的版本号来更新。

 更新完模块后,模块会显示重新上传的文件内容。至此,模块的更新修改完毕。

另一种方法:

参考链接中的方法2,超简单。但是需要注意:kaggle的output目录会在一定时间内清空缓存,写入的文件无法永久保存,所以不建议使用该方法。

kaggle中如何导入自定义的模块_liudaohui11的博客-CSDN博客_kaggle导入py文件

1、写入文件

在一个空白的cell中的顶部添加语句【%%writefile filename.py】,随后将要写入文件的代码复制到下面新行中,运行该cell即可。

%%writefile test7.py
def print_abc():
    print("abc")
    

随后通过os.listdir()可看到当前目录的确写入了名称为【test7.py】的文件。

 2、加载文件

在新建的cell中,输入命令【%load filename.py】(注意,只有一个【%】符号),点击运行,随后cell中会加载指定的文件的代码到cell中。

运行前的cell:

运行后的cell中,刚才的【%load filename.py】命令会被自动注释掉。

### 如何从 Kaggle 下载代码 要从 Kaggle 上下载代码,可以按照以下方法实现: #### 方法一:通过 API 使用 `kaggle` 命令行工具 为了能够使用命令行工具来下载代码,首先需要完成一些前置配置工作。 1. **获取并设置 API Token** 需要在个人账户中生成一个 `kaggle.json` 文件用于身份验证。具体步骤如下: - 登录到自己的 Kaggle 账户页面。 - 点击右上角的用户头像,进入 Settings 页面[^1]。 - 找到 API 板块,点击 “Create New API Token”,这会自动生成并下载名为 `kaggle.json` 的文件。 2. **放置 kaggle.json 到指定位置** 将上述下载好的 `kaggle.json` 放置到本地计算机中的 `.kaggle` 文件夹下。可以通过以下命令完成此操作: ```bash mkdir -p ~/.kaggle/ mv ~/Downloads/kaggle.json ~/.kaggle/ chmod 600 ~/.kaggle/kaggle.json ``` 3. **执行下载命令** 安装好 `kaggle` CLI 工具后,可以直接利用其内置功能下载目标代码或数据集。例如,如果想下载某个特定用户的笔记本脚本,则可运行下面这条指令: ```bash kaggle kernels pull username/kernel-slug --path ./destination_folder ``` 此处需替换实际存在的用户名 (`username`) 内核 Slug 名称(`kernel-slug`)以及存储路径参数值[^3]。 #### 方法二:借助 Jupyter Notebook 中的功能模块 当处于在线竞赛环境中时(即位于 `/kaggle/working/`),也可以采用另一种方式轻松导出所需资源链接供后续访问。 1. **切换至对应的工作目录** 确定当前所在的位置正是存放有希望分享出去的目标成果之处;假如是模型权重之类的大型二进制文档的话,可能还需要先行将其压缩成更易于传输的形式——比如 tarball 或者 zip archive ——以便减少体积大小便于携带。 ```python import os # 修改为你的项目根目录 os.chdir('/kaggle/working/proj_example') ``` 2. **创建可供外部访问的 URL 地址** 接下来就是调用 Python 库函数来自动生成指向这些资产的有效网络地址了。这里给出两个例子分别针对单个文件与整个存档包的情况处理办法。 单独提供某项素材实例: ```python from IPython.display import FileLink FileLink('model_weights.pth') ``` 对于多份资料则建议先打包再发布连接: ```python !tar cvfz all_data.tgz *.csv models/*.hdf5 from IPython.display import FileLink FileLink('all_data.tgz') ``` 当以上单元格被执行完毕之后,在输出区域将会展示一条超链结形式的结果条目,只需简单一点就能触发浏览器启动进而实施抓取动作啦[^2]! --- ###
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值