Kaggle克隆github项目+文件操作+Kaggle常见操作问题解决方案——一文搞定,以openpose姿态估计项目为例


前言

想跑一些深度学习的项目,但是电脑没有显卡,遂看向云服务器Kaggle,这里可以每周免费使用30h的GPU算力,效果确实不错。
本人之前尝试过google colab,但是

  • 时不时就要你人机验证
  • 连接容易断开
  • 文件操作有些麻烦
  • 还要挂载google drive云盘
  • 还要魔法

用过Kaggle之后,不得不说是真香,它是不需要魔法的。
但是刚上手Kaggle的DPers可能还不是很熟悉一些基本命令操作,那么这篇文章就总结了一些常见操作,常见问题,希望对你有所帮助。


一、Kaggle克隆仓库

1、克隆项目

一般在kaggle的notebook里面输入控制台类的代码,前面要加上!当然也有特例,我们后面再说

! git init
! git clone https://github.com/Hzzone/pytorch-openpose.git

2、查看目录

克隆下来的项目,放在了output下,目录为kaggle/working
在这里插入图片描述
注意kaggle/working也是我们默认的工作目录,你可以输入下述代码来验证

import os
os.getcwd()

二、安装依赖

! pip install -r /kaggle/working/pytorch-openpose/requirements.txt

这里要输入requirements.txt的完整路径,可以在右侧直接复制
在这里插入图片描述

三、文件的上传、复制、转移操作

github上这个姿态估计的项目需要权重文件,但是仓库里没有直接放进去,通过网盘给到了.pth权重文件。那么现在我们应该如何将电脑中的.pth文件上传到工作目录里呢

1.上传.pth文件到input目录

比较简单,点击upload->New Dataset->选择本地文件直接上传,
一个项目可以包含多个datasets,我这里新建了2个,并分别上传了一个文件,下面是目录结构:
在这里插入图片描述

2、将权重文件从input目录转移到工作目录

将权重文件从input目录转移到output下的kaggle/working工作目录

# import module we'll need to import our custom module
from shutil import copyfile
 
copyfile(src = "/kaggle/input/hand-pose-model-pth/hand_pose_model.pth", dst = "/kaggle/working/pytorch-openpose/model/hand_pose_model.pth")
copyfile(src = "/kaggle/input/hand-pose-model-pth/body_pose_model.pth", dst = "/kaggle/working/pytorch-openpose/model/body_pose_model.pth")

注意,目标目录下的.pth文件不用提前建立,它会自动生成


三、修改工作目录里的文件内容

按理说,我现在直接可以输入! python /kaggle/working/pytorch-openpose/demo_camera.py
进行demo测试了,但是会报错找不到权重文件,因为人家项目里写的是相对路径,但是说实话,相对路径在kaggle的notebook执行的时候,会识别不出来
在这里插入图片描述

所以最保险的做法:
全部换成绝对路径
这时要修改demo_camera.py的文件内容,如何修改呢?

1、修改demo_camera.py内容

现在的工作路径是
在这里插入图片描述
我们cd 到demo_camera.py文件所在文件夹下
在这里插入图片描述
在本地修改demo_camera.py,修改为绝对路径
在这里插入图片描述
将这个文件里所有内容复制到%%writefile demo_camera.py下面,什么意思?就是相当于把demo_camera.py的内容进行了覆盖。

%%writefile demo_camera.py
import cv2
import matplotlib.pyplot as plt
import copy
import numpy as np
import torch

from src import model
from src import util
from src.body import Body
from src.hand import Hand

body_estimation = Body('/kaggle/working/pytorch-openpose/model/body_pose_model.pth')
hand_estimation = Hand('/kaggle/working/pytorch-openpose/model/hand_pose_model.pth')

print(f"Torch device: {torch.cuda.get_device_name()}")

cap = cv2.VideoCapture(0)
cap.set(3, 640)
cap.set(4, 480)
while True:
    ret, oriImg = cap.read()
    candidate, subset = body_estimation(oriImg)
    canvas = copy.deepcopy(oriImg)
    canvas = util.draw_bodypose(canvas, candidate, subset)

    # detect hand
    hands_list = util.handDetect(candidate, subset, oriImg)

    all_hand_peaks = []
    for x, y, w, is_left in hands_list:
        peaks = hand_estimation(oriImg[y:y+w, x:x+w, :])
        peaks[:, 0] = np.where(peaks[:, 0]==0, peaks[:, 0], peaks[:, 0]+x)
        peaks[:, 1] = np.where(peaks[:, 1]==0, peaks[:, 1], peaks[:, 1]+y)
        all_hand_peaks.append(peaks)

    canvas = util.draw_handpose(canvas, all_hand_peaks)

    cv2.imshow('demo', canvas)#一个窗口用以显示原视频
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()


在这里插入图片描述

四、运行!

输入

! python /kaggle/working/pytorch-openpose/demo_camera.py

当然,你可能遇到其他代码上的bug,这就不是kaggle平台的问题啦
这就需要你擦亮你的眼睛认认真真debug啦

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Kaggle运行GitHub项目,需要先将GitHub项目克隆Kaggle的Notebook中。可以通过在Notebook中使用Git命令或者使用Kaggle的Git工具来完成克隆。然后,需要安装项目所需的依赖库和环境。可以使用Kaggle的环境配置工具或者在Notebook中手动安装。最后,可以在Notebook中运行项目代码,并根据需要进行修改和调整。在运行过程中,可以使用Kaggle的GPU和TPU资源来加速计算。 ### 回答2: Kaggle是一个开放的数据科学竞赛平台,而Github是全球最大的开源代码托管平台。在Kaggle上使用到Github项目,需要进行以下步骤。 首先,需要在Kaggle上创建一个新的Jupyter notebook。然后,需要在notebook中安装必要的库和模块。通过pip安装库,可以使用以下命令来安装: ``` !pip install [library-name] ``` 接下来,需要将Github项目克隆Kaggle中,可以使用以下命令来克隆: ``` !git clone [GitHub-repo-url] ``` 在克隆Github项目之后,需要将数据集拷贝到Kaggle中,并将路径指向数据集。可以使用以下命令来拷贝数据集: ``` !cp [source] [destination] ``` 一旦数据集被拷贝到了Kaggle中,就可以使用Python代码进行分析和建模。在分析和建模的过程中,可能会需要调用Github项目的特定部分。这可以通过在Kaggle中引入Github项目中的模块来实现。可以使用以下命令来在Kaggle中引入Github模块: ``` import sys sys.path.append('[GitHub-subdirectory-path]') import [module-name] as [alias] ``` 最后,需要提交notebook并等待执行结果。一旦结果返回,可以对结果进行分析和解释,并在Kaggle上分享您的工作。 总之,要在Kaggle运行Github项目,需要将Github项目克隆Kaggle中,引入必要的模块,将数据集拷贝到Kaggle中,并使用Python代码进行分析和建模。完成之后就可以提交notebook并分享您的成果了。 ### 回答3: Kaggle是一个著名的机器学习和数据科学竞赛网站,提供了丰富多彩的数据集和模型,是机器学习和数据科学爱好者展示自己的舞台。Github是全球最大的开源代码平台,上面有许多开源项目和数据集,让开发者们能够更好地进行协作和分享。 在Kaggle运行Github项目需要遵循以下步骤: 1. 创建Kaggle账号:首先,你需要注册一个Kaggle账号。如果你已经有了账号,你可以跳过这一步。 2. 寻找开源项目:在Github上搜索一些有趣的开源项目,选择一个你感兴趣的项目。 3. Fork项目:在Github页面上,点击Fork按钮,将项目复制到你自己的Github仓库。 4. 获取API密钥:在Kaggle账号设置页面,获取API密钥。 5. 安装kaggle工具:在命令行终端中运行下面的命令来安装kaggle命令行工具: ``` pip install kaggle ``` 6. 下载数据集:使用kaggle命令行工具,下载Kaggle上的数据集。在项目页面中,找到数据集并复制API命令,然后在终端中运行此命令。 7. 安装依赖:将项目中需要的依赖项安装到你的机器上。 8. 运行代码:运行代码并在Kaggle上提交结果。 总之,在Kaggle运行Github项目需要你具备一定的编程和命令行经验,同时还需要了解如何使用机器学习和数据科学相关的工具和技术。如果你能够熟练掌握上述步骤,相信你能在这个领域里取得不俗的成绩。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.别止步春天.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值