网站栏目策划 有思想的新闻,wordpress 中文版 英文版,南通网站定制费用,wordpress数据库内容展示了一个简单的二分类神经网络的训练和应用流程。主要步骤包括#xff1a;
1. 数据准备与预处理
2. 构建模型
3. 编译模型
4. 训练模型
5. 评估模型
6. 模型应用与部署
加载和应用已训练的模型 1. 数据准备与预处理
在本例中#xff0c;数据准备是通过两个 Numpy 数…
展示了一个简单的二分类神经网络的训练和应用流程。主要步骤包括
1. 数据准备与预处理
2. 构建模型
3. 编译模型
4. 训练模型
5. 评估模型
6. 模型应用与部署
加载和应用已训练的模型 1. 数据准备与预处理
在本例中数据准备是通过两个 Numpy 数组来完成的
x输入特征形状为 (8, 2)包含 8 个数据点每个数据点有 2 个特征。y标签形状为 (8,)包含对应的 0 或 1 标签表示每个输入点的类别。
x np.array([[1, 1], [1, -1], [-1, 1], [-1, -1], [0.7, 0.7], [0.7, -0.7], [-0.7, -0.7], [-0.7, 0.7]])
y np.array([1, 1, 1, 1, 0, 0, 0, 0])2. 构建模型
使用 Keras 的 Sequential 模型来构建神经网络。此模型包含两个全连接层Dense 层
第一个 Dense 层有 3 个单位激活函数是 Sigmoid。第二个 Dense 层有 1 个单位激活函数是 Sigmoid输出层的激活函数将模型输出的值映射到 0 到 1 之间适合二分类任务。
l1 tf.keras.layers.Dense(units3, activationsigmoid)
l2 tf.keras.layers.Dense(units1, activationsigmoid)
model tf.keras.Sequential([l1, l2])3. 编译模型
在编译阶段我们选择了优化器、损失函数和评估指标
优化器SGD随机梯度下降学习率设置为 0.9。损失函数binary_crossentropy适用于二分类任务。评估指标accuracy表示训练过程中对分类准确率的衡量。
sgd tf.keras.optimizers.SGD(learning_rate0.9)
model.compile(optimizersgd, lossbinary_crossentropy, metrics[accuracy])4. 训练模型
通过 model.fit() 函数来训练模型。我们传入训练数据 x 和标签 y并设置训练的 epoch 数量为 2000。
model.fit(x, y, epochs2000)5. 评估模型
在此示例中评估部分通过训练后的 model 来进行并没有显式写出 evaluate() 函数。评估通常是在训练之后通过测试集或验证集对模型性能进行评估具体可以使用 model.evaluate() 来查看损失和准确度。
6. 模型应用与部署
训练完成后我们保存了训练好的模型。保存后的模型可以被加载和应用于新的数据集。
model.save(my_model.keras) # 保存模型7.加载和应用已训练的模型
加载保存的模型并用其对新数据进行预测。model.predict() 方法返回的是预测的概率值我们通过设置阈值如 0.9将其转换为类别0 或 1。
model tf.keras.models.load_model(my_model.keras) # 加载模型
nx np.array([[2, 2], [0.1, 0.1], [1.1, 1.2], [0.3, 0.3]]) # 新的输入数据
predictions model.predict(nx) # 获取预测结果
print(predictions) # 输出概率# 将概率转化为类别
predicted_classes (predictions 0.9).astype(int)
print(predicted_classes) # 输出最终的类别预测8.完整代码 test.py 训练模型
import tensorflow as tf
import numpy as np
# 创建int32类型的0维张量即标量
l1tf.keras.layers.Dense(units3,activationsigmoid)
l2tf.keras.layers.Dense(units1,activationsigmoid)
modeltf.keras.Sequential([l1,l2])
sgd tf.keras.optimizers.SGD(learning_rate0.9)
model.compile(optimizersgd, lossbinary_crossentropy, metrics[accuracy])
xnp.array([[1,1],[1,-1],[-1,1],[-1,-1],[0.7,0.7],[0.7,-0.7],[-0.7,-0.7],[-0.7,0.7]])
ynp.array([1,1,1,1,0,0,0,0])
model.fit(x,y,epochs2000)
# 保存训练好的模型Keras 格式
model.save(my_model.keras) test2.py加载模型并进行预测
import tensorflow as tf
import numpy as np# 加载训练好的模型
model tf.keras.models.load_model(my_model.keras)# 预测数据
nx np.array([[2, 2], [0.1, 0.1], [1.1, 1.2], [0.3, 0.3]])# 获取预测结果
predictions model.predict(nx)# 输出预测结果
print(predictions)# 如果需要将概率转化为类别0或1
predicted_classes (predictions 0.9).astype(int)# 输出最终的类别预测
print(predicted_classes)9.视频分享 初识TensorFlow https://v.douyin.com/ifG2mmLH/ 复制此链接打开Dou音搜索直接观看视频