环境: WIN 10
Python 3.6.2
Anaconda3
GTX1060 3GB
1. 入门运行
安装好tensorflow 2.0 发现无法运行,报 ImportError: DLL load failed: 找不到指定的模块。 错误
官方非常Nice,直接给我了github 的issue 地址 https://github.com/tensorflow/tensorflow/issues/22794 。里面找到了解决方法
conda install keras-gpu
conda install -c aaronzs tensorflow-gpu
conda install -c anaconda cudatoolkit
conda install -c anaconda cudnn
这里需要说明的一点是,因为国内的各个anaconda镜像源都关闭了,所以conda install 我只能改成defaults channel了,必须要有梯子才能install了。
这还不够。还需要更新显卡驱动。因为我用的tensorflow是最新的,所以我直接使用鲁大师更新了最新的显卡驱动。更新好之后,就可以跑hello world了
2.Tensorflow2主要修改和特性
学习过程中,官方文档的一些模块已经无法使用了,这是因为2.0迁移走了1.x里面的很多模块,这在官方文档里有说明。同时官方也给出了更新指示。说到这里,简单提一句,奉劝大家好好看看官方文档,tourials,guide 都值得好好看看,很多问题就会在碰到之前就知道怎么解决了。
举个例子,在 预测加利福尼亚的房价 例子中, tf.train.GradientDescentOptimizer 这个类已经不能使用,是train这个模块被2.0整体移除,在stackflow里面找到了替换方法。 还有 tf.contrib 这个模块也被整体移除了,官方说明。 还有estimator这个模块,现在导入是 from tensorflow_estimator import estimator 这么导入使用了
3.Tensorflow主要模块
先看下Tensorflow的API结构。不解释了。
3.1 Estimators
Estimator 是 TensorFlow 对完整模型的高级表示。它会处理初始化、日志记录、保存和恢复等细节部分,并具有很多其他功能,以便您可以专注于模型。
Estimator 是从 tf.estimator.Estimator 衍生而来的任何类。TensorFlow 提供一组预创建的 Estimator(例如 LinearRegressor)来实现常见的机器学习算法。除此之外,您可以编写自定义 Estimator。我们建议在刚开始使用 TensorFlow 时使用预创建的 Estimator。
要根据预创建的 Estimator 编写 TensorFlow 程序,您必须执行下列任务:
创建一个或多个输入函数。
定义模型的特征列。
实例化 Estimator,指定特征列和各种超参数。
在 Estimator 对象上调用一个或多个方法,传递适当的输入函数作为数据的来源。