2 用TensorFlow构建一个简单的神经网络

上一篇:1 如何入门TensorFlow-CSDN博客

1、环境搭建

后续介绍的相关代码都是在pycharm运行,pycharm安装略。

打开pycharm,创建一个新的项目用于tensorflow编码练习,在Terminal输入命令:

依赖最新版本的pip

复制代码
pip install --upgrade pip

安装tensorflow

复制代码
pip install tensorflow

其他依赖项,可以在后续编码用到时根据系统提示信息再安装。


2、传统编程和机器学习的区别

用一个简单的例子介绍,比如我们写一个计算西瓜价格的程序,计算公式是:

费用=单价*重量+包装费

给出西瓜单价是1.2元/斤,包装费(可降解塑料袋)固定为0.5元

则计算公式为 费用=1.2元/斤*重量+0.5元

2.1 Python程序实现价格计算

先用Python程序实现,直接将费用计算公式写在程序里:

python 复制代码
def watermelon_total_cost(weight):
    # 费用计算公式
    total_cost = 1.2 * weight + 0.5
    return total_cost


watermelon_weight = float(input('请输入西瓜的重量:'))
cost = watermelon_total_cost(watermelon_weight)
print('费用是:%.2f' % cost)

如果输入10斤时,则程序输出费用:

2.2 机器学习实现价格预测

如果没有在程序里写死费用的计算公式,计算机如何通过训练得到这一规则?

先给出一些重量和对应费用的数据,让机器通过训练这些数据找到规则:

weight=[1, 3, 4, 5, 6, 8]

total_cost=[1.7, 4.1, 5.3, 6.5, 7.7, 10.1]

先上代码,不用急着去了解每行代码的含义,后面章节会详细解释。

python 复制代码
import numpy as np
import tensorflow as tf

# 西瓜的重量
weight = np.array([1, 3, 4, 5, 6, 8], dtype=float)

# 对应的费用
total_cost = np.array([1.7, 4.1, 5.3, 6.5, 7.7, 10.1], dtype=float)

model = tf.keras.Sequential([
    tf.keras.layers.Dense(1, input_shape=[1])
])

model.compile(loss=tf.losses.mean_squared_error, optimizer='SGD')

history = model.fit(weight, total_cost, epochs=500, verbose=False)

# 训练完成后,预测10斤西瓜的总费用
print(model.predict([10]))

程序运行结果:

预测结果是12.521......,和准确值12.5非常接近!

由上面可以看出之前我们写的程序是需要事先定义好程序的规则,才能得到答案。而机器学习是给出数据和答案,让机器通过训练得到它们之间的数学关系。

相关推荐
GitCode官方1 分钟前
Hunyuan OCR & Z-Image-Turbo 正式上线!两大模型在 NPU 加速平台完成部署,开启 AI 识图新时代!
人工智能·ocr
非著名架构师1 分钟前
当AI气象大模型成为新质生产力:如何用“会思考的气象体”重构企业生产排程?
神经网络·lstm·transformer·高精度气象数据·风光高精度功率预测
老蒋新思维2 分钟前
创客匠人峰会实录:智能体系统重构知识变现 —— 从 “工具应用” 到 “场景化生态” 的跃迁
大数据·网络·人工智能·tcp/ip·重构·创始人ip·创客匠人
Misnice2 分钟前
使用 SQLAlchemy 连接数据库
数据库·python·mysql·fastapi
c#上位机3 分钟前
halcon提取单通道图像——access_channel
图像处理·人工智能·计算机视觉·c#·halcon
龙腾AI白云3 分钟前
【循环神经网络讲解(3)】
python·深度学习
500845 分钟前
鸿蒙 Flutter AI 引擎实战:OCR 图文识别离线部署与准确率优化
java·人工智能·flutter·华为·性能优化·ocr
月亮!7 分钟前
当技术中立性遇上算法偏见:软件测试者的伦理启示
网络·人工智能·python·测试工具·算法·安全·开源
曲幽9 分钟前
Flask核心技能:从零上手视图函数
python·json·app·web·get·post·request·response
老蒋新思维10 分钟前
创客匠人峰会深度:AI 重构知识产品 —— 从 “标准化” 到 “个性化 + 规模化” 的变现革命
大数据·网络·人工智能·tcp/ip·重构·创始人ip·创客匠人