Py之turicreate:turicreate的简介、安装、使用方法之详细攻略
Py之turicreate:turicreate的简介、安装、使用方法之详细攻略
turicreate的简介
苹果开源Turi Create:让机器学习更容易!turicreate简化了定制机器学习模型的开发。你不必是机器学习专家就可以向你的应用添加推荐、对象检测、图像分类、图像相似性或活动分类。
API文档:Turi Create API Documentation
GitHub:https://github.com/apple/turicreate
1、特点
- 易于使用:专注于任务而不是算法
- 可视化:内置的流式可视化,用于探索数据
- 灵活:支持文本、图像、音频、视频和传感器数据
- 快速且可扩展:在一台机器上使用大型数据集
- 准备部署:将模型导出到Core ML,以用于iOS、macOS、watchOS和tvOS应用程序
2、应用
- 基于算法:1.推荐系统(Recommender systems) 2.图像相似性(Image similarity) 3.文本分类器(text classification)
- 基于应用程序:1.图像分类(Image classification) 2.物体检测(Object Detection)3. 活动分类器(Activity Classifier)
ML Task | Description |
---|---|
Recommender | 用户推荐 |
Image Classification | 图片分类 |
Object Detection | 物体识别 |
Style Transfer | 图片风格化 |
Activity Classification | 动作识别 |
Image Similarity | 图片归同 |
Classifiers | 预测标签 |
Regression | 回归分析 |
Clustering | 数据分组 |
Text Classifier | 文本识别 |
turicreate的安装
T1、第一种方式安装
pip install turicreate
T2、第二种方式安装
- 进入到该文件的setup.py 目录下 ,打开cmd,并切换到该目录下;
- 先执行 python setup.py build
- 然后执行 python setup.py install
turicreate的使用方法
1、利用apple机器学习平台Turicreate实现图像相似性检索
1、数据导入
import turicreate as tc
# Load images from the downloaded data
reference_data = tc.image_analysis.load_images('./101_ObjectCategories')
load_images(url, format='auto', with_path=True, recursive=True, ignore_failure=True, random_order=False)
2、利用Resnet50数据特征提取
create(dataset, label = None, feature = None, model = 'resnet-50', verbose = True) #model默认使用resnet50,label是标识行,如reference_data中的path
model = tc.image_similarity.create(reference_data)
model.save('my_model_file')
loaded_model = tc.load_model('my_model_file')
3、通过query查询实现相似搜索
similar_images = model.query(reference_data[0:10] ,label = 'path',k=10)
similar_images.head()
query(dataset, label=None, k=5, radius=None, verbose=True)
- dataset:SFrame,需查询的数据
- label:索引名,选择一列,输入列名
- k:最大返回样本数
- radius:半径范围,如果超过radius个间隔,就不显示
- verbose:打印进度更新和模型细节。
通过similarity_graph实现相似关联图搜索
graph = model.similarity_graph(k=1) # an SGraph
similarity_graph(k=5, radius=None, include_self_edges=False, output_type='SGraph', verbose=True)
k:最大返回样本数
radius:float,半径范围,如果超过radius个间隔,就不显示
include_self_edges:是否包含自己,True的话,返回的结果包含自己(自己的相似性为1)
output_type:'SGraph’, 'SFrame’两种
verbose:打印进度更新和模型细节。
graph.edges
赞 (0)