集智专栏
资源加载中,请稍后...
集智专栏

视频翻译:深度学习处理服饰图片识别

视频原链接https://www.youtube.com/watch?v=RJudqel8DVA


在线编程

1 First attempt:Linear classifier

请将代码中的____替换为正确内容,并点击运行按钮运行程序、检查结果。

程序说明
Feature columns
预处理代码
import os, shutil data_list = os.listdir('/mnt/vol0/tensorflow/fashion-mnist') for i in data_list: shutil.copy('/mnt/vol0/tensorflow/fashion-mnist/' + i, '/home/jovyan/work')
示例代码
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import numpy as np tf.logging.set_verbosity(tf.logging.INFO) # 输出TensorFlow版本 print(tf.__version__) # 设置模型目录 base_model_dir = "tfmodels/fashion_mnist/" # 二维图片 --> 一维像素 feature_columns = [ tf.feature_column.numeric_column( 'pixels', shape=____) ]
正确答案
feature_columns = [tf.feature_column.numeric_column('pixels', shape=784)]
程序验证过程
feature_columns[0][1] == (784,)
提示信息
28x28的图片矩阵展开成一维像素列表,应该有几个元素?


2 Create your model

请将代码中的____替换为正确内容,并点击运行按钮运行程序、检查结果。

程序说明
线性分类器
示例代码
# 创建线性分类器 n_classes = ____ classifier = tf.estimator.LinearClassifier(feature_columns=feature_columns, n_classes=n_classes, model_dir=base_model_dir + 'linear') # 读取数据集 # 为节省线上运行时间,这里实际只读取了10000个训练样本和2000个测试样本 data_train = np.loadtxt('fashion-mnist_train.csv', delimiter=",", skiprows=50001) data_test = np.loadtxt('fashion-mnist_test.csv', delimiter=",", skiprows=8001) print("Data loaded.")
正确答案
n_classes = 10
程序验证过程
n_classes == 10
提示信息
回顾视频中fashion mnist的数据集属性,找到类别总数。


3 Train and Evaluate

请点击运行按钮运行程序并查看结果。

程序说明
训练-评估
示例代码
# 定义输入函数 def make_input_fn(data, batch_size, num_epochs, shuffle): return tf.estimator.inputs.numpy_input_fn( x={'pixels': data[0:, 1:]}, y=data[:,0].astype(np.int64), batch_size=batch_size, num_epochs=num_epochs, shuffle=shuffle) # 训练模型 classifier.train(input_fn=make_input_fn(data_train, batch_size=100, num_epochs=2, shuffle=True)) # 评估准确度 accuracy_score = classifier.evaluate(input_fn=make_input_fn(data_test, batch_size=100, num_epochs=5, shuffle=False))['accuracy'] print(accuracy_score)
程序验证过程
accuracy_score > 0.75


4 Deep model

请点击运行按钮运行程序并查看结果。

程序说明
训练-评估
示例代码
# 创建深度分类器 deep_classifier = tf.estimator.DNNClassifier( feature_columns=feature_columns, n_classes=10, hidden_units=[200, 100, 50], model_dir=base_model_dir + "deep" ) # 训练模型 deep_classifier.train(input_fn=make_input_fn(data_train, batch_size=100, num_epochs=10, shuffle=True)) # 评估准确度 accuracy_score = deep_classifier.evaluate( input_fn=make_input_fn(data_test, batch_size=100, num_epochs=5, shuffle=False))['accuracy'] print(accuracy_score)
程序验证过程
accuracy_score > 0.7


5 实地预测

请点击运行按钮运行程序并查看结果。

程序说明
实地预测
示例代码
# 定义预测输入函数 # 因为之前仅读入2000个测试样本,故此处选择1000:1005 predict_input_fn = tf.estimator.inputs.numpy_input_fn( x={'pixels': data_test[1000:1005, 1:]}, batch_size=1, num_epochs=1, shuffle=False) predictions = deep_classifier.predict(input_fn=predict_input_fn) # 进行预测 for prediction in predictions: print("Predictions: {} with probabilities {}\n".format( prediction["classes"], prediction["probabilities"])) print('Expected answers values: {}'.format( data_test[1000:1005, 0])) # 可视化真实结果 import matplotlib.pyplot as plt %matplotlib inline for i in range(1000,1005): sample = np.reshape(data_test[i, 1:], (28,28)) plt.figure() plt.title("Correct label: {}".format(data_test[i, 0].astype(np.int))) plt.imshow(sample, 'gray')
程序验证过程
True


怎么样,Expected answers valuesCorrect label是否一一对应呢?

您也许喜欢这些文章

一小时建立终身受害的AI创作系统

发表至趣味项目
使用TensorFlow框架,搭建一个简单的LSTM(长短记忆神经元)示例。LSTM是目前自然语言处理领域的核心算法,因为它可以很好地处理序列数据中的前后顺序依赖问题。文末提供了在线开发环境,读者可以自由地尝试修改参数。

土法神经网络 Part II:感知机

发表至系列教程
这是本系列教程的第二章。本系列教程将带领你入门深度神经网络的数学和算法基础。然后我们将效仿 TensorFlow API,自己动手用 Python 实现一个神经网络库。

两分钟论文解析184:DeepMind自主学得音视频概念

发表至业界新闻
来自YouTube的《Two Minute PAPERS》系列,该系列视频在极短的时间浓缩介绍新近科研论文的成果,本篇(第184期)讲的是DeepMind的最新成果,用无监督的方式让算法自主学会了匹配声音和画面中的乐器。

文章评论(0)