在 TensorFlow2.0 中,推荐使用 Keras ( tf.keras ) 构建神经网络模型,因此学习tf2.0要从keras入手。
Keras 是一个用 Python 编写的高级神经网络 API,具有用户友好、模块化、易扩展性等特点。
Keras基本结构如下:
Keras 有两个重要的部分:Model和Layer。Layer包含构成网络的函数、变量,Model包含将层连接和组织的函数和参数。
Keras基本结构如下:
(1)引入
import tensorflow as tffrom tensorflow.keras import layers
(2)层的堆叠
model = tf.keras.Sequential()model.add(layers.Dense(32, activation='relu'))
通过add方式增加模型的层数,选择Dense模式,激活函数为relu。激活函数一般有:
(3)配置训练
model.compile(optimizer=tf.keras.optimizers.Adam(0.001), loss=tf.keras.losses.categorical_crossentropy, metrics=[tf.keras.metrics.categorical_accuracy])
设计好模型后,需要选择一个合适的优化器(Optimizers)对模型进行优化,tf2.0常用的优化器如下:
loss为损失函数,metrics为性能评估模块。
回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。采用tf2.0中波士顿房价数据进行分析。
tf2.0中的datasets主要有:
波士顿房价输入为13维的因素数据,输出为房价。
CRIM:城镇人均犯罪率。
ZN:住宅用地超过 25000 sq.ft. 的比例。
INDUS:城镇非零售商用土地的比例。
CHAS:查理斯河空变量(如果边界是河流,则为1;否则为0)。
NOX:一氧化氮浓度。
RM:住宅平均房间数。
AGE:1940 年之前建成的自用房屋比例。
DIS:到波士顿五个中心区域的加权距离。
RAD:辐射性公路的接近指数。
TAX:每 10000 美元的全值财产税率。
PTRATIO:城镇师生比例。
B:1000(Bk-0.63)^ 2,其中 Bk 指代城镇中黑人的比例。
LSTAT:人口中地位低下者的比例。
MEDV:自住房的平均房价,以千美元计。
具体程序为:
import tensorflow.keras as keras
import tensorflow.keras.layers as layers
# 导入数据 (x_train, y_train), (x_test, y_test) = keras.datasets.boston_housing.load_data()
#模型构建 model = keras.Sequential([
layers.Dense(32, activation='sigmoid', input_shape=(13,)), layers.Dense(64, activation='sigmoid'), layers.Dense(32, activation='sigmoid'), layers.Dense(1)
])
# 配置模型 model.compile(optimizer=keras.optimizers.SGD(0.1), loss='mean_squared_error', # keras.losses.mean_squared_error metrics=['mse'])
#模型结构 model.summary()
#模型训练 model.fit(x_train, y_train, batch_size=50, epochs=50, validation_split=0.1, verbose=1)
#模型测试 result = model.evaluate(x_test, y_test)
print(model.metrics_names)
print(result)
模型结构为:
模型输出为:
关注公众号,获取海量学习资源。
1024程序开发者社区的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里就技术问题进行交流,还没有加入的小伙伴可以扫描下方“社区物业”二维码,让管理员帮忙拉进群,期待大家的加入。
//猜你喜欢//
用深度强化学习玩贪食蛇
Django+xadmin打造在线考试系统2.0
Django+uwsgi+nginx(Ubuntu:16.4)项目部署
10月底还能看到女朋友穿短裙吗?教你用4行Python代码爬取历史天气数据
tensorflow2.0入门(1):GPU版环境搭建Win10+Cuda10+ cudnn7.6.3