码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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程序实现,直接将费用计算公式写在程序里:

    1. def watermelon_total_cost(weight):
    2. # 费用计算公式
    3. total_cost = 1.2 * weight + 0.5
    4. return total_cost
    5. watermelon_weight = float(input('请输入西瓜的重量:'))
    6. cost = watermelon_total_cost(watermelon_weight)
    7. 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]

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

    1. import numpy as np
    2. import tensorflow as tf
    3. # 西瓜的重量
    4. weight = np.array([1, 3, 4, 5, 6, 8], dtype=float)
    5. # 对应的费用
    6. total_cost = np.array([1.7, 4.1, 5.3, 6.5, 7.7, 10.1], dtype=float)
    7. model = tf.keras.Sequential([
    8. tf.keras.layers.Dense(1, input_shape=[1])
    9. ])
    10. model.compile(loss=tf.losses.mean_squared_error, optimizer='SGD')
    11. history = model.fit(weight, total_cost, epochs=500, verbose=False)
    12. # 训练完成后,预测10斤西瓜的总费用
    13. print(model.predict([10]))

    程序运行结果:

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

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

    下一篇:3 tensorflow构建的模型详解-CSDN博客

  • 相关阅读:
    MacOS下通过命令行启动、关闭Tomcat服务器并验证
    Grandle安装配置使用
    PC微信3.9.7内测版,更新功能一览(附下载)
    Java.lang.Character类中isUpperCase()方法具有什么功能呢?
    趣学python编程(七、实现个小网站如此简单 web.py使用介绍)
    【Java】想进大厂?你应该知道的算法经典习题(队列)
    JavaCV人脸识别三部曲之三:识别和预览
    MAC地址表泛洪攻击
    Flutter | 嵌套地狱好阔怕?不要慌,官方解决方案来了!
    基于STM32的IIC驱动协议实现
  • 原文地址:https://blog.csdn.net/sinat_23377479/article/details/133941309
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号