Kaggle,上传,GPU,下载

遇到没GPU想训练模型的情况,CPU跑好久,可利用Kaggle的云GPU。

1、注册参考[1],其中,kaggle官网: 地址

2、进入主页,可用creat创建nootbook,之后可按正常jupyter的操作进行

 3、上传数据

        可利用Kaggle上的线上的数据集,如果想利用自己的数据来训练模型,需从本地上传

(1)右上方的Add data

(2)上传自己的数据集
点击upload a dataset,dataset取名,然后选择browse files上传文件。最好将文件压缩之后上传,这样比较快。上传压缩包后kaggle会自动解压。

 上传完成之后点击Create,正在处理你的数据集时,不要点击别的地方。

运行下述代码可查看数据路径[4]

import os
for dirname, _, filenames in os.walk('/kaggle/input'):
    for filename in filenames:
        print(os.path.join(dirname, filename))

4、编写代码,训练

(1)上传的文件无法在kaggle上进行修改,需要copy到输出文件夹中,

上传文件的进度如果始终为0,则需要科学上网上传数据。

上传的文件会放置在\kaggle\input下,这个目录只能读,而/kaggle/working是放输出文件的,可读可写,但如果不点右上角的Save version,输出文件并不会保存。

将数据集和代码都压缩成一个zip文件,上传,kaggle会自动将其解压缩,从kaggle读取文件名,会发现少了.zip后缀。在上传数据集时,会让人输入一个名字,作为上传文件的上一层目录,文件名中的中划线会被省略,但是下滑线会自动转为中划线。为方便读写,可将上传到到input下的文件传一份到working目录下,使用shutil包[5]原文链接

import shutil
shutil.copytree(r'../input/trydata/image_classification-pytorch', r'./trydata')

使用python的pyautogui包来模拟鼠标操作,就可以刮着了,参考[6]Python 实现按键精灵的功能

因此,为了简单,直接在在notebook中重新写代码

(2)配置运行环境
在settings里配置环境:

(3)运行

直接运行

(4)离线运行

参考:地址

使用GPU训练模型过程中,出现了提示是否继续操作,紧接着就断了连接,里面的产生的数据都消失了,Kaggle如果长时间不动,会自己断掉,判断离开

如果训练模型需要很久,就要后台跑了,并且要保存训练出来的模型。
点击右上角的Save Version,给version取个名,注意选择Save & Run All

 save保存。

左下角的活动会出现各个活动文件

5、下载输出结果

把训练的权值文件下载下来,可以直接点击权值文件并下载。

也可下载整个文件夹,但下载整个文件夹会很慢,参考博客[2]:压缩下载

直接在cell中运行此代码即可[2]

import os
import zipfile
import datetime

def file2zip(packagePath, zipPath):
    '''
  :param packagePath: 文件夹路径
  :param zipPath: 压缩包路径
  :return:
  '''
    zip = zipfile.ZipFile(zipPath, 'w', zipfile.ZIP_DEFLATED)
    for path, dirNames, fileNames in os.walk(packagePath):
        fpath = path.replace(packagePath, '')
        for name in fileNames:
            fullName = os.path.join(path, name)
            name = fpath + '\\' + name
            zip.write(fullName, name)
    zip.close()


if __name__ == "__main__":
    # 文件夹路径
    packagePath = '/kaggle/working/'
    zipPath = '/kaggle/working/output.zip'
    if os.path.exists(zipPath):
        os.remove(zipPath)
    file2zip(packagePath, zipPath)
    print("打包完成")
    print(datetime.datetime.utcnow())

下载即可

下载完,可清空kaggle/working下指定文件夹 直接在cell中运行下面代码[2]

import shutil
import os

if __name__ == '__main__':
    path = '/kaggle/working/model'
    if os.path.exists(path):
        shutil.rmtree(path)
        print('删除完成')
    else:
        print('原本为空')

=============================================

更多基本介绍,可参考[7]在Kaggle免费使用GPU训练自己的神经网络

参考文献

[1]使用kaggle GPU跑自己的模型_10000hours的博客 

[2]kaggle下载output中的文件

[3]利用kaggle提供的免费GPU完成卫星图片识别任务

[4]使用Kaggle训练模型并下载自己训练的模型

[5]kaggle上传代码包并运行

[6]Python 实现按键精灵的功能

[7]在Kaggle免费使用GPU训练自己的神经网络

### Appium 元素定位方法 #### ID 定位 ID 是最常用也是效率最高的定位方式之一。通过唯一标识符来查找元素,这种方式不仅快速而且稳定。 ```java driver.findElement(By.id("com.example:id/button")); ``` 此代码片段展示了如何利用 `By.id` 方法找到具有特定 ID 的按钮组件[^1]。 #### Class Name 定位 当应用中的多个视图共享相同的类名时可以采用此类方式进行筛选。需要注意的是,在复杂界面下可能会返回多个匹配项,因此可能需要进一步限定条件以确保准确性。 ```java List<WebElement> elements = driver.findElements(By.className("android.widget.EditText")); elements.get(0).sendKeys("input text"); ``` 这段 Java 代码说明了怎样选取第一个编辑框并输入文字[^2]。 #### XPath 定位 XPath 提供了一种灵活的选择机制,允许基于属性值或其他特征精确定位单个或一组节点。对于那些难以用简单选择器表达的情况特别有用。 ```xml // 使用绝对路径 WebElement element = driver.findElement(By.xpath("/hierarchy/android.widget.FrameLayout[1]/...")); // 或者相对路径配合属性过滤 WebElement element = driver.findElement(By.xpath("//android.widget.TextView[@text='Login']")); ``` 这里给出了两种不同类型的 XPath 表达式的例子:一种是指定完整层次结构;另一种则是仅指定目标标签及其特性。 #### UI Automator 定位 UIAutomator Viewer 工具可以帮助开发者更好地理解应用程序的布局,并构建更精确的选择器字符串用于测试框架中。它支持按文本、资源 id 和其他可见属性来进行查询。 ```java UiSelector().resourceId("com.package.name:id/resource_id").click(); ``` 上述命令演示了调用 UiSelector 来点击某个带有给定 resourceId 的控件的操作[^4]。 #### Accessibility Id (Content Description) 定位 这种方法适用于 Android 平台上的无障碍服务功能。如果界面上某些不可见但可交互的对象没有合适的视觉表示,则可以通过设置 contentDescription 属性实现间接访问。 ```java driver.findElement(MobileBy.AccessibilityId("Settings")).click(); ``` 该语句实现了依据 accessibility id 找到名为 "Settings" 的项目并触发其点击事件的功能。 --- 为了提高定位成功率和稳定性: - 尽量优先考虑使用 ID 或者 Content Description 这样的独特标志作为首选方案; - 对于动态变化的内容(比如列表项),尝试结合 index 参数或者自定义谓词逻辑缩小范围; - 面向 H5 页面内的 Web 组件时切换上下文至 WebView 模式再继续下一步骤[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值