本文主要是介绍TensorFlow轻松入门(二)——小案例:ANN构建一个或运算的模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 或运算: 位与位进行比较,如果有任一个是1,结果为1;两个都为0,结果则为0。
实现步骤
-
构建Feature与Label数据
-
创建顺序模型
-
指定模型的第一层,线性模型
-
添加一层激活函数
-
模型编译
-
模型训练
-
模型预测
代码示例
# ANN 人造神经网络
# 用ANN构建一个或运算的模型
import numpy
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense, Activation # 导入线性模型Dense和激活函数Activation# feature数据输入
X = numpy.array([[0, 0], [0, 1], [1, 1], [1, 0]])
# label结果标签输出
y = numpy.array([0, 1, 1, 1])# 创建顺序模型
model = Sequential()
# 指定模型的第一层,线性模型Dense参数解释:units-输出数据个数,input_shape-输入数据个数
model.add(Dense(units=1, input_shape=(2,)))
# 添加一层激活函数,sigmoid适用于分类模型,可以把输出结果压缩到0-1之间
model.add(Activation('sigmoid'))
model.summary() # 查看模型参数
# 模型编译,参数optimizer优化器,loss损失分类(binary_crossentropy是二分类优化算法),metrics训练过程日志打印
model.compile(optimizer="rmsprop", loss="binary_crossentropy", metrics=["accuracy", "mse"])
# 模型训练
model.fit(X, y, batch_size=4, epochs=10000)
# 模型预测
pre = model.predict(X)
print(pre)
这篇关于TensorFlow轻松入门(二)——小案例:ANN构建一个或运算的模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!