这篇文章是翻译官方IOS TuriCreate的图片分类器的使用。
原文链接:图片分类
图片分类
图片分类器的目标是在给定目标图片的情况下,能识别出该图片的标签。深度学习最近被证明可以在这个具有挑战性的问题上获得令人难以置信的结果。然而,这个结果是以不断对模型进行调參和训练为代价的。这意味着一个人可能需要花费数月的时间来测试不同配置的模型,但时间太长的情况下,投入产出比就很低。但是,Turi Create中的图片分类器旨在最大程度的减少这些麻烦,并且可以轻松创建高质量的图片分类器模型。
加载数据
Kaggle Cats and Dogs Datase提供了猫和狗的标签图片。下载并解压数据集后,进入到kagglecatsanddogs
文件夹下,该文件夹包含PetImages
文件夹。
import turicreate as tc
# Load images (Note:'Not a JPEG file' errors are warnings, meaning those files will be skipped)
data = tc.image_analysis.load_images('PetImages', with_path=True)
# From the path-name, create a label column
data['label'] = data['path'].apply(lambda path: 'dog' if '/Dog' in path else 'cat')
# Save the data for future use
data.save('cats-dogs.sframe')
# Explore interactively
data.explore()
入门实例
这个任务是预测图片是猫还是狗。让我们探讨一下猫 vs 狗
数据集上图片分类器的用法。
import turicreate as tc
# Load the data
data = tc.SFrame('cats-dogs.sframe')
# Make a train-test split
train_data, test_data = data.random_split(0.8)
# Create the model
model = tc.image_classifier.create(train_data, target='label')
# Save predictions to an SArray
predictions = model.predict(test_data)
# Evaluate the model and print the results
metrics = model.evaluate(test_data)
print(metrics['accuracy'])
# Save the model for later use in Turi Create
model.save('cats-dogs.model')
# Export for use in Core ML
model.export_coreml('MyCustomImageClassifier.mlmodel')
以下是我们对自己喜欢的猫和狗的一些预测:
new_cats_dogs['predictions'] = model.predict(new_cats_dogs)
高级用法
请参考以下章节:
此外,以下各章包含有关如何使用分类器的更多信息: