# FLYAI_intel **Repository Path**: ZR__2020/FLYAI_intel ## Basic Information - **Project Name**: FLYAI_intel - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-01 - **Last Updated**: 2021-12-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### intelSceneClassification_FlyAI ### [![GPL LICENSE](https://badgen.net/badge/License/GPL/green)](https://www.gnu.org/licenses/gpl-3.0.zh-cn.html) [![GPL LICENSE](https://badgen.net/badge/Supported/TensorFlow,Keras,PyTorch/green?list=1)](https://flyai.com) [![GPL LICENSE](https://badgen.net/badge/Python/3.+/green)](https://flyai.com) [![GPL LICENSE](https://badgen.net/badge/Platform/Windows,macOS,Linux/green?list=1)](https://flyai.com) ### [项目官方网址](https://www.flyai.com/d/intelSceneClassification) > 通过迭代自己的算法模型并提交训练,获取奖金池高额奖金。 *** #### 竞赛说明 - **参加项目竞赛必须实现 `model.py` 中的`predict_all`方法,系统才能给出最终分数。** #### 样例代码说明 ##### `app.yaml` > 是项目的配置文件,项目目录下**必须**存在这个文件,是项目运行的依赖。 ##### `processor.py` > **样例代码中已做简单实现,可供查考。** > > 处理数据的输入输出文件,把通过csv文件返回的数据,处理成能让程序识别、训练的矩阵。 > > 可以自己定义输入输出的方法名,在`app.yaml`中声明即可。 > > ```python > 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`方法获取训练和测试数据。 > > ```python > # 数据获取辅助类 > dataset = Dataset() > x_train, y_train, x_test, y_test = dataset.next_batch(BATCH) > ``` > > 通过`model.py`中的`save_model`方法保存模型 > > ```python > # 模型操作辅助类 > model = Model(dataset) > model.save_model(YOU_NET) > ``` > > **如果使用`PyTorch`框架,需要在`net.py`文件中实现网络。其它用法同上。** ##### `model.py` > **样例代码中已做简单实现,可供查考。** > > 训练好模型之后可以继承`flyai.model.base`包中的`base`重写下面三个方法实现模型的保存、验证和使用。 > > ```python > def predict(self, **data): > ''' > 使用模型 > :param data: 模型的输入的一个或多个参数 > :return: > ''' > pass > > def predict_all(self, datas): > ''' > (必须实现的方法)评估模型,对训练的好的模型进行打分 > :param datas: 验证集上的随机数据,类型为list > :return outputs: 返回调用模型评估之后的list数据 > ''' > 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终端命令 ##### Windows用户 ##### 1. 下载项目并解压 ##### 2.打开运行,输入cmd,打开终端 > Win+R 输入cmd ##### 3. 使用终端进入到项目的根目录下 首先进入到项目对应的磁盘中,然后执行 > cd path\to\project > > Windows用户使用 flyai.exe ##### 4. 初始化环境并登录 下载完成之后,执行下列命令并使用微信扫码登录 > flyai.exe init 登录成功之后,会自动下载运行所需环境 ##### 5. 本地开发调试 执行 > flyai.exe test 安装项目所需依赖,并运行 main.py 如果使用本地IDE开发,可以自行安装 requirements.txt 中的依赖,运行 main.py 即可 ##### 6.提交训练到GPU 项目中如有新的引用,需加入到 requirements.txt 文件中 在终端下执行 > flyai.exe train 返回sucess状态,代表提交离线训练成功 默认训练成功后不公开在项目排行榜中,公开项目需在提交训练时执行 > flyai.exe train -p=1 完整训练设置执行代码示例: > flyai.exe train -p=1 -b=32 -e=100 通过执行训练命令,本次训练循环 100 次,每次训练读取的数据量为 32 ,公开提交模型 ##### Mac或Linux用户 ##### 1. 下载项目并解压 ##### 2. 使用终端进入到项目的根目录下 > cd /path/to/project > > Mac和Linux用户使用 ./flyai 脚本文件 ##### 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 train -p=1 完整训练设置执行代码示例: > ./flyai train -p=1 -b=32 -e=100 通过执行训练命令,本次训练循环 100 次,每次训练读取的数据量为 32 ,公开提交模型 *** ### [FlyAI全球人工智能专业开发平台,一站式服务平台](https://flyai.com) **扫描下方二维码,及时获取FlyAI最新消息,抢先体验最新功能。** [![GPL LICENSE](https://www.flyai.com/images/coding.png)](https://flyai.com)