教程 | 猫狗识别 - AI图片分类的样例

猫狗识别 - AI图片分类的样例

更多项目请查看 https://www.flyai.com

项目官方网址

该数据有猫和狗两类图片,一共有25000张图片,猫狗各占一半,可以用来做图片分类的入门数据。


样例代码说明
app.yaml

是项目的配置文件,项目目录下必须存在这个文件,是项目运行的依赖。

processor.py

样例代码中已做简单实现,可供查考。

处理数据的输入输出文件,把通过csv文件返回的数据,处理成能让程序识别、训练的矩阵。

可以自己定义输入输出的方法名,在app.yaml中声明即可。

    def input_x(self, image_path):
        '''
        参数为csv中作为输入x的一条数据,会被Dataset类中的next_batch()方法多次调用。
        :params: 输入的数据列表
        :return: 返回矩阵
        '''
        pass

    def input_y(self, label):
        '''
        参数为csv中作为输入y的一条数据,会被Dataset类中的next_batch()方法多次调用。
        :params: 数据标签列表
        :return: 返回矩阵
        '''
        pass
    def output_y(self, data):
        '''
        验证时使用,把模型输出的y转为对应的结果
        :param data: 预测返回的数据
        :return: 返回预测的标签
        '''
        pass

main.py

样例代码中已做简单实现,可供查考。

程序入口,编写算法,训练模型的文件。在该文件中实现自己的算法。

通过dataset.py中的next_batch方法获取训练和测试数据。

# 数据获取辅助类
dataset = Dataset()
x_train, y_train, x_test, y_test = dataset.next_batch(BATCH)

通过model.py中的save_model方法保存模型

# 模型操作辅助类
model = Model(dataset)
model.save_model(YOU_NET)

如果使用PyTorch框架,需要在net.py文件中实现网络。其它用法同上。

model.py

样例代码中已做简单实现,可供查考。

训练好模型之后可以继承flyai.model.base包中的base重写下面三个方法实现模型的保存、验证和使用。

   def predict(self, path, name, **data):
        '''
        使用模型
        :param path: 模型所在的路径
        :param name: 模型的名字
        :param data: 模型的输入的一个或多个参数
        :return: 
        '''
        pass

    def evaluate(self, path, name):
        '''
        验证模型
        :param path: 模型的路径
        :param name: 模型的名字
        :return: 返回验证的准确率
        '''
        pass

    def save_model(self, network, path=MODEL_PATH, name=MODEL_NAME, overwrite=False):
        '''
        保存模型
        :param network: 训练模型的网络
        :param path: 要保存模型的路径
        :param name: 要保存模型的名字
        :param overwrite: 是否覆盖当前模型
        :return:
        '''
        self.check(path, overwrite)

predict.py

样例代码中已做简单实现,可供查考。

对训练完成的模型使用和预测。

path.py

可以设置数据文件、模型文件的存放路径。

dataset.py

该文件在FlyAI开源库flyai.dataset包中,通过next_batch(BATCH)方法获得x_train y_train x_test y_test数据。

FlyAI开源库可以通过pip3 install -i https://pypi.flyai.com/simple flyai 安装。


FlyaI终端命令
1. 下载项目并解压
2. 使用终端进入到项目的根目录下

cd /path/to/project

3. 初始化环境并登录

给flyai授权,在终端下执行chmod +x ./flyai

在终端下执行 ./flyai init ,下载完成之后,使用微信扫码登录。

登录成功之后,会自动下载运行所需环境。

4. 本地开发调试

在终端下执行 ./flyai test ,会安装项目所需依赖,并运行 main.py


如果使用本地IDE开发,可以自行安装 requirements.txt 中的依赖,运行main.py即可。

5.提交训练到GPU

项目中如果有新的引用,需要加入到 requirements.txt 文件中。

在终端下执行 ./flyai train 返回sucess状态,代表提交离线训练成功。

训练结束会以微信和邮件的形式发送通知,训练结果可在通知中查看。


FlyAI全球人工智能专业开发平台,一站式服务平台

扫描下方二维码,及时获取FlyAI最新消息,抢先体验最新功能。

GPL LICENSE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值