如何用飞浆AI训练自己的模型

很多小伙伴在学习人工智能的时候,都会遇到训练模型时,自己电脑算力不够的问题。网上有很多优秀的云服务器提供算力。百度飞浆就是一个挺不错的选择,不多说,直接介绍怎么做,很容易,包看懂。(创建账号这些流程我就不写了)

飞浆官网链接

目录

1、在飞浆创建项目

1.1、准备源代码和数据集

1.2、在飞浆创建一个项目

1.3、上传数据集

2、运行项目

2.1、把数据集挂载到项目

2.2、启动环境运行


1、在飞浆创建项目

1.1、准备源代码和数据集

首先呢,你得准备好你自己的训练模型的源代码,然后压缩到一个压缩包内。

数据集也是一样的,把数据集划分好之后,压缩。注意,数据集必须小于50个G。

1.2、在飞浆创建一个项目

按顺序来,创建一个Notebook

然后取一个项目名,IDE选择JupyterLab就行,在项目运行的时候可以切换,这个无关紧要。

创建好之后会跳转到新的页面,点击右上角的启动环境,选择基础版环境,点击确定进入环境。

进入环境之后,点击图示图标,上传自己的源代码(压缩包文件),上传成功后,右击压缩包解压,之后可删除原压缩包。除data目录外,其他目录都会持久保存,尽可能小启动会快一点。之后可按照main.ipynb内的方法搭建持久化运行环境。没记错的话,官方的pip配置好了镜像源。

弄好之后,源代码和环境就都搭建好了。下次运行的时候就根据自己的需求,选择使用什么样的显卡。新用户会送100小时的V卡。用来学习还是很不错的。

1.3、上传数据集

依次点击 数据-创建数据集

为数据集取个名字,然后点击上传文件,把准备好的压缩包上传到服务器。时间取决于数据集的大小。标签看自己数据集的情况选择,无关紧要。是否公开那里建议不公开,公开之后无法删除。摘要栏就简要结束一下就行,建议认真写一写,不然后面自己都忘了数据是什么东西。

2、运行项目

经过上面的步骤之后,就基本完工了。

2.1、把数据集挂载到项目

停止正在运行的项目。点击右边的修改项目。

点击添加数据集

选择个人数据集,这里就有你刚刚创建好的数据集。最多选择两个,点击确定之后,会把你选择的数据集挂载到项目的data目录下,因为上传的是压缩包,所以等会进入环境之后,需要对数据集解压(注意,在data目录做的修改不会被保留)。

2.2、启动环境运行

挂载好数据集之后,根据自己需求选择相应配置的环境启动,进入环境之后,把源代码里有关于数据集的部分,换成data目录下对应的路径,这里我建议使用绝对路径。

然后运行训练模型相关的代码即可。训练过程文件和模型文件可保存到指定目录下,后续可以右击该目录,将结果下载下来。

熟练之后呢,就可以尝试飞浆其他功能,如去使用飞浆的模型和数据集、去创建运行时间更长的脚本任务等等。

### 数据集格式要求 对于百度飞桨(PaddlePaddle),训练模型所需的数据集通常遵循一定的结构化格式,以便能够被高效读取和处理。具体来说: #### 文件组织形式 数据集应当按照特定的方式进行文件夹划分。一般情况下,图像分类任务中的数据集会被分为多个子目录,每个子目录代表一类标签下的所有样本图片。例如,在一个有猫狗两类别的简单例子中,可能会存在两个文件夹分别命名为`cat` 和 `dog` ,里面存放着各自类别的图像文件。 #### 数据增强与预处理 为了提高泛化能力并增加有效样本数量,可以在加载阶段实施一些常见的图像变换操作如随机裁剪、翻转等作为数据增强手段。此外,还需要做标准化处理使输入特征具有零均值单位方差特性,这有助于加速收敛过程[^1]。 #### 训练/验证/测试集分割 合理分配不同用途的数据集合非常重要。一般来说,原始采集到的大规模无标注资料经过初步筛选后可进一步划分为三个部分:80%用作训练集来调整网络参数;10%-20%留作验证集用于超参数优化期间评估性能表现;剩余约10%构成独立的测试集以最终衡量整个系统的准确性[^3]。 #### 批量读入机制 考虑到内存占用等因素的影响,实际应用过程中往往不会一次性把全部数据载入RAM而是采用批量方式逐步供给给神经网络学习。通过设定合适的批尺寸(batch size),既能在一定程度上缓解硬件资源压力又不影响正常运算流程[^2]。 ```python from paddle.io import Dataset import os from PIL import Image class CustomImageDataset(Dataset): def __init__(self, root_dir, transform=None): self.root_dir = root_dir self.transform = transform self.image_paths = [] # 遍历根目录下各个类别文件夹内的图片路径 for label_name in sorted(os.listdir(root_dir)): class_path = os.path.join(root_dir, label_name) if not os.path.isdir(class_path): continue for img_file in os.listdir(class_path): self.image_paths.append((os.path.join(class_path, img_file), label_name)) def __len__(self): return len(self.image_paths) def __getitem__(self, idx): image_filepath, label = self.image_paths[idx] image = Image.open(image_filepath).convert('RGB') if self.transform is not None: image = self.transform(image) labels_map = {"label_a": 0, "label_b": 1} # 假设有两类别a,b映射成整型编号 numeric_label = labels_map[label] return image, numeric_label ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值