kaggle 在无网络的环境下安装packages的方法
在kaggle可以直接使用pip命令去安装需要的库。只需要将setting中的internet选项打开
在侧边栏打开internet选项
例如安装
!pip install python-box timm pytorch-lightning==1.4.0 grad-cam ttach
但是有些比赛提交的notebook不允许联网,这时候就需要离线安装。
具体步骤如下:
1. 下载所需库的.whl
文件到output
文件中
!pip download python-box timm pytorch-lightning==1.4.0 grad-cam ttach -d ./package
下载完成后会看到output
文件夹中出现了package
里面为安装包
结果:
2. 将安装包从kaggle下载到本地
将whl文件打包到压缩包中
import shutil
# base_name:压缩包名,base_dir:压缩包路径
shutil.make_archive(base_name='./package',format="zip",base_dir='./package')
结果:
可以使用kaggle网页的按钮进行下载(不知道为什么压缩包比较大时使用网页下载按钮没有反应)
# 查看文件链接
from IPython.display import FileLink
FileLink(r'package.zip')
3. 使用上传数据集的方法将whl
文件传入input
文件夹
使用add data将whl文件上传
上传成功后就可以看到input中多了一个文件夹,里面就是所需要的包
4. 离线安装
!pip install python-box timm pytorch-lightning==1.4.0 grad-cam ttach --no-index --find-links=file:///kaggle/input/requirment-lightning/
注意
离线安装.tar.gz
文件
.tar.gz安装比较复杂,如果直接将.tar.gz上传到kaggle中时,kaggle会自动解压.tar.gz包。不能直接使用pip命令安装。
首先需要将.tar.gz解压后的目录移动到input文件中
%cp -r /kaggle/input/requirment-lightning/grad-cam-1.3.6/grad-cam-1.3.6 /kaggle/working/
然后再进行编译
%cd /kaggle/working/grad-cam-1.3.6
!make
!make install
!python setup.py install
不然会出现[Errno 30] Read-only file system 的错误
离线加载预训练模型
预先下载并移动到checkpoints
文件夹中
if not os.path.exists('/root/.cache/torch/hub/checkpoints/'):
os.makedirs('/root/.cache/torch/hub/checkpoints/')
!cp -r '../input/requirment-lightning/swin_tiny_patch4_window7_224.pth' '/root/.cache/torch/hub/checkpoints/'
安装成功
更多安装方法可以参考kaggle上的讨论