机器学习环境
vergeml的Python项目详细描述
vergeml是一个基于命令行的环境,用于探索、培训和运行最先进的机器学习模型。它提供随时可用的模型,处理数据预处理和扩充,跟踪您的ai的培训课程,并提供诸如自动rest接口。
下面是它的实际效果:
安装
vergeml在windows、linux和macos上运行。您需要使用python 3.6和TensorFlow installed。
通过pip获取vergeml:
pip install vergeml
键入:
ml help
恭喜,你已经成功安装了vergeml!如果需要进一步帮助,请参阅完整的installation guide。
快速启动
让我们创建一个非常简单的图像分类器来区分猫和狗。
首先,我们为分类器创建一个新项目。项目可以帮助您组织数据、保存培训结果并比较培训的ais之间的性能。
转到要创建项目的目录并键入:
ml --model=imagenet new cats_dogs
这建立了一个基于Keras的模型,称为imagenet
,它基于转移学习。
让我们切换到此项目目录并查看:
cd cats_dogs
vergeml将自动创建一个samples文件夹和一个配置文件(vergeml.yaml)。除此之外,此配置文件定义了当前模型。
让我们来了解如何使用当前型号:
ml help
在输出中,您将看到一个关于模型函数的部分。它说我们有两个模型函数,训练和预测。我们先试试训练吧!
开始训练!
要开始训练人工智能,我们需要一个数据集:
ml download:cats-and-dogs
Info: VergeML provides several datasets to get you started. To see a list type
ml help download
下载完成后,您将在samples
目录中看到许多图片,这些图片分为两个文件夹:cats和dogs。
稍后,当您使用自己的数据时,只需将图像复制到samples目录的子目录中。vergeml会自动将目录名作为标签。
要开始训练,请键入:
ml train
作为第一步,vergeml将把我们的每个图像输入一个预先训练好的神经网络,提取它们的特征作为输出,并将其缓存在磁盘上。(在GPU上,这通常需要大约15分钟)然后它将基于此输出训练一个新的神经网络。作为最后一步,它将把这两个网络结合成一个为我们的猫和狗分类任务量身定制的网络。这个过程叫做“转移学习”。
vergeml将在我们的培训结束后打印出测试精度,以评估模型的最终性能。我们的猫狗分级机达到98.6%,相当不错。
Info: By default, VergeML reserves 10% of your samples as validation and 10% as testing data. This step is required to measure the accuracy of your model.
我们可以使用list命令检查模型的性能:
ml list
这将为您提供名称(前缀是@符号)和一些性能指标。
例如,训练精度(acc
)将告诉你你的人工智能在训练过程中对图像的分类有多好,而验证精度(val_acc
)则告诉你它对看不见的图像的性能有多好。
从命令行使用ai
我们的猫和狗分类器现在可以使用了。让我们把它指向猫或狗的图像,看看它能预测什么:
ml @name-of-your-AI predict <filename>
Info: You can even point it to a directory:
ml @name-of-your-AI predict my_cats_and_dogs_pictures/*
启动rest服务
最后,让我们在web服务上部署我们新训练的ai:
ml @name-of-your-AI run:rest
vergeml提供了一个api资源管理器,它将在新的浏览器窗口中启动。(如果不想打开浏览器,请使用--no-browser
选项。)
例如,要对curl使用rest接口:
curl -F 'files=@path/to/image' http://localhost:2204/predict
许可证
版权所有(c)2018-2019 Markus Ecker