[date: 2018-03-11 20:31] [visits: 31]

“使用TensorFlow的基本步骤”之实践

Google机器学习速成课程学习过程中,在“使用TensorFlow的基本步骤”这一节中,按照在线练习中的指导时,尝试在本地实践,遭遇“新手困境”,此文记录问题的经过。

操作系统OS X10.11.6,机器学习相关知识背景微乎其微,无python编程经验。

搭建编程环境

搭建python编程环境,测试代码是否能顺利运行。Mac下环境搭建比较简单,就不细述,主要包括:

安装完之后,Copy练习中的第一段代码:

import math

from IPython import display
from matplotlib import cm
from matplotlib import gridspec
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
from sklearn import metrics
import tensorflow as tf
from tensorflow.python.data import Dataset

tf.logging.set_verbosity(tf.logging.ERROR)
pd.options.display.max_rows = 10
pd.options.display.float_format = '{:.1f}'.format

上述内容在文件learn.py中,运行命令python learn.py,报错:

Traceback (most recent call last):
  File "learn.py", line 3, in <module>
    from IPython import display
ImportError: No module named IPython

之前有知道python使用pip安装各种模块,与Node.js下的npm类似,遂使用pip安装ipython等相关第三方模块。

模块全部安装好之后,错误依旧,猜测是环境变量问题,做了一番搜索,了解到原因:

通过pip安装的第三方模块不在系统python的sys.path中,应该使用brew安装的python执行文件

通过brew list python找到执行文件路径然后运行python2 learn.py后,得到错误:

Traceback (most recent call last):
  File "learn.py", line 11, in <module>
    from tensorflow.python.data import Dataset
ImportError: No module named data

由于没有python编程经验,对于from tensorflow.python.data import Dataset的含义不肯定,只猜测其含义类似Dataset = tensorflow.python.data,僵持了几分钟,不知所措。

但考虑到同时存在python2与python3,可能是兼容问题,所以尝试切换到python3+pip3,然后使用python3 learn.py运行代码,OK~

运行剩余代码

把练习中的代码全部Copy到文件中,运行时遇到另一个错误:

  File "tmp/learn.py", line 51
    print "Mean Squared Error (on training data): %0.3f" % mean_squared_error
                                                       ^
SyntaxError: invalid syntax

语法错误,却少小括号,文件中所有地方修改一下,方法类似print "hello world" -> print("hello world")

代码全部Copy下来后虽然可以运行,由于零基础,后面部分的逻辑,读过一遍后并没全搞懂,还要继续花时间学习。

之所以在本地弄运行环境,也是为了后续学习,感觉难度稍大,不知道有没有机会自己玩一波机器学习,哈哈~

全部代码就不贴了,大家到参照练习地址,一步步捣鼓吧,附:学习课程地址