TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?

TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?
www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


传统的编码逻辑,写股票价格/营收的实现

www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


传统的游戏逻辑

www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


传统编码逻辑 和 机器学习逻辑

www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


传统编码模式去识别运动类型:速度判断

www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


机器学习识别运动模式:图片识别

www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


入参X,计算出参Y,传统的方法是,先找到规律 Y = 2X - 1 ,实现编码。

www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


TensorFlow 实现。

www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?
www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?
www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?
www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


www.zeeklog.com - TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?


bit.ly/tfw-lab1

1. 神经网络深度学习的 Hello World

就像每一个第一个应用程序一样,你应该从一些超级简单的东西开始,展示你的代码如何工作的整体脚手架。

在创建神经网络的情况下,我喜欢使用的样本是学习两个数字之间关系的样本。因此,例如,如果您正在为这样的函数编写代码,那么您已经知道“规则”——

float my_function(float x){ float y = (3 * x) + 1; return y; } 

那么你将如何训练一个神经网络来完成同样的任务呢?使用数据!通过用一组 X 和一组 Y 喂养它,它应该能够弄清楚它们之间的关系。

这显然是一个与您可能习惯的范式截然不同的范式,所以让我们一步一步地了解它。

1.1 导入依赖库

让我们从我们的导入依赖库开始。在这里,我们导入 TensorFlow 并将其称为 tf 以方便使用。

然后我们导入一个名为 numpy 的库,它帮助我们轻松快速地将数据表示为列表。

将神经网络定义为一组 Sequential 层的框架称为 keras,因此我们也将其导入。

import tensorflow as tf import numpy as np from tensorflow import keras 

1.2 定义和编译神经网络

接下来我们将创建最简单的神经网络。它有 1 层,该层有 1 个神经元,它的输入形状只有 1 个值。

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

现在我们编译我们的神经网络。当我们这样做时,我们必须指定 2 个函数,一个损失函数和一个优化器。

如果你看过很多机器学习数学,这里是它通常使用的地方,但在这种情况下,它很好地封装在函数中。但是这里发生了什么——让我们解释一下……

我们知道,在我们的函数中,数字之间的关系是 y=3x+1。

当计算机试图“学习”这一点时,它会进行猜测……也许 y=10x+10。LOSS 函数根据已知的正确答案来衡量猜测的答案,并衡量它的表现好坏。

然后它使用 OPTIMIZER 函数进行另一个猜测。根据损失函数的运行情况,它将尝试最小化损失。那时它可能会想出像 y=5x+5 这样的东西,虽然仍然很糟糕,但更接近正确的结果(即损失更低)

它将为您将很快看到的 EPOCHS 数量重复此操作。但首先,我们告诉它如何使用“均方误差”作为损失和“随机梯度下降”作为优化器。您还不需要了解这些的数学原理,但您可以看到它们是有效的!😃

随着时间的推移,您将学习针对不同场景的不同且适当的损失和优化器函数。

model.compile(optimizer='sgd', loss='mean_squared_error') 

1.3 提供数据

接下来我们将输入一些数据。在这种情况下,我们采用 6 xs 和 6ys。你可以看到它们之间的关系是y=2x-1,所以x=-1,y=-3等等。

一个名为“Numpy”的 Python 库提供了许多数组类型的数据结构,这些数据结构是事实上的标准方法。我们通过将值指定为 np.array[] 来声明我们要使用这些

xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype=float) ys = np.array([-2.0, 1.0, 4.0, 7.0, 10.0, 13.0], dtype=float) 

1.4 训练神经网络

训练神经网络的过程,它“学习”Xs 和 Ys 之间的关系是在model.fit 调用中。这是它将通过我们上面谈到的循环的地方,进行猜测,测量它的好坏(也就是损失),使用优化器进行另一个猜测等。它将按照您的时代数进行指定。运行此代码时,您会在右侧看到损失。

model.fit(xs, ys, epochs=500) 
Epoch 1/500 6/6 [==============================] - 0s 16ms/step - loss: 57.4875 Epoch 2/500 6/6 [==============================] - 0s 173us/step - loss: 45.2285 Epoch 3/500 6/6 [==============================] - 0s 171us/step - loss: 35.5836 Epoch 4/500 6/6 [==============================] - 0s 195us/step - loss: 27.9955 Epoch 5/500 

好的,现在你有一个经过训练的模型来学习 X 和 Y 之间的关系。你可以使用model.predict方法让它为以前未知的 X 计算出 Y。所以,例如,如果 X = 10 ,你认为 Y 会是什么?在运行此代码之前先猜测一下:

print(model.predict([10.0])) 
[[ 31.00025749]] 

你可能已经想到了 31,对吧?但它最终有点结束。你认为这是为什么?

请记住,神经网络处理概率,因此给定我们提供给 NN 的数据,它计算出 X 和 Y 之间的关系为 Y=3X+1 的概率非常高,但只有 6 个数据点我们可以不知道。因此,10 的结果非常接近 31,但不一定是 31。

当您使用神经网络时,您会看到这种模式反复出现。您几乎总是处理概率,而不是确定性,并且会进行一些编码以根据概率确定结果是什么,尤其是在分类方面。

2. 预测房价

bit.ly/tfw-ex1a

在本练习中,您将尝试构建一个神经网络,根据一个简单的公式预测房屋的价格。

所以,想象一下,如果房子定价像每间卧室的房子成本 50k + 50k 一样简单,那么 1 居室的房子成本 100k,2 居室的房子成本 150k 等等。

您将如何创建一个学习这种关系的神经网络,以便预测 7 间卧室的房子的成本接近 40 万等。

提示:如果您降低房价,您的网络可能会运行得更好。你不必给出 400 的答案…创建一些预测数字 4 的东西可能会更好,然后你的答案是“成百上千”等等。

import tensorflow as tf import numpy as np from tensorflow import keras model = tf.keras.Sequential([keras.layers.Dense(units=1, input_shape=[1])]) model.compile(optimizer='sgd', loss='mean_squared_error') xs = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], dtype=float) ys = np.array([1.0, 1.5, 2.0, 2.5, 3.0, 3.5], dtype=float) model.fit(xs, ys, epochs=1000) print(model.predict([7.0])) 
Epoch 995/1000 1/1 [==============================] - 0s 4ms/step - loss: 1.8491e-06 Epoch 996/1000 1/1 [==============================] - 0s 10ms/step - loss: 1.8357e-06 Epoch 997/1000 1/1 [==============================] - 0s 4ms/step - loss: 1.8222e-06 Epoch 998/1000 1/1 [==============================] - 0s 4ms/step - loss: 1.8090e-06 Epoch 999/1000 1/1 [==============================] - 0s 5ms/step - loss: 1.7958e-06 Epoch 1000/1000 1/1 [==============================] - 0s 5ms/step - loss: 1.7828e-06 [[4.001926]] 

参考

https://www.youtube.com/watch?v=_Z9TRANg4c0

Read more

从零开始:Stable Diffusion API本地部署与实战调用指南

1. 环境准备与本地部署 想要玩转Stable Diffusion API,第一步得先把环境搭建好。这就像你要做菜,总得先有个厨房对吧?我推荐直接从GitHub克隆官方stable-diffusion-webui项目,这是最稳妥的选择。不过要注意,你的显卡最好是NVIDIA的,显存至少4GB起步,不然跑起来会非常吃力。 安装过程其实比想象中简单。先确保系统有Python 3.10.6,然后按顺序执行这几个命令: git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui pip install -r requirements.txt 启动时有个关键点要注意:必须加上--api参数!这个参数就像是打开大门的钥匙,不加的话API功能就用不了。启动命令长这样: python launch.py --api 第一次运行会自动下载模型文件,文件比较大可能要等一会儿。我遇到过下载卡住的情况,这时候可以手动把模型文件放到models/Stable-dif

Angular应用在Chrome中调用高德地图API定位超时问题解析与安全方案

1. 问题现象:为什么我的Angular应用在Chrome里定位总是“转圈圈”? 最近在做一个基于Angular的项目,需要集成高德地图来实现用户位置获取。功能在Edge、Firefox上跑得挺顺溜,可一到Chrome上就卡壳了——那个定位的小图标转啊转,最后给你弹出一个“定位超时”(Geolocation Timeout)的错误。这事儿别提多闹心了,明明代码一样,高德地图的Key也配置对了,怎么换个浏览器就不灵了呢? 一开始我也以为是自己的代码写错了,反复检查了@types/amap-js-api的类型声明,确认AMap.Geolocation的调用方式没问题。后来一搜,发现不少用Vue、React甚至原生JS开发的朋友,只要在Chrome里调用高德地图定位,都踩过这个坑。这就有点意思了,看来不是我们前端框架的锅,问题可能出在更底层的地方。最让人困惑的是,有时候你开了“科学上网”工具,诶,定位居然成功了!但这显然不是个正经的解决方案,且不说安全性和稳定性,你总不能要求每个用户都先去折腾网络配置吧。 这个问题的核心体验就是:在Chrome浏览器中,通过高德地图JavaScript

宇树机器人g1二次开发:建图,定位,导航手把手教程(二)建图部分:开始一直到打开rviz教程

注意: 本教程为ros1,需要ubuntu20.04,使用算法为fase_lio 本教程为遵循的网上开源项目:https://github.com/deepglint/FAST_LIO_LOCALIZATION_HUMANOID.git 一、系统环境准备 1.1. 安装必要的依赖库 # 安装C++标准库 sudo apt install libc++-dev libc++abi-dev # 安装Eigen3线性代数库 sudo apt-get install libeigen3-dev 库说明: * libc++-dev:C++标准库开发文件 * libeigen3-dev:线性代数库,用于矩阵运算和几何变换 * 这些是编译FAST-LIO和Open3D必需的数学和系统库 二、创建工作空间和准备 2.1. 创建定位工作空间 mkdir

无人机遥感航拍巡检数据集 无人机遥感图像识别 无人机视角山区泥石流和滑坡图像识别数据集-数据集第10067期

无人机遥感航拍巡检数据集 无人机遥感图像识别 无人机视角山区泥石流和滑坡图像识别数据集-数据集第10067期

滑坡检测数据集核心信息介绍 ** 这个滑坡检测数据集主要用于目标检测任务,整体数据规模和细节都比较明确。从数量上看,数据集总共包含 1660 张图像, 往期热门主题 主题搜两字"关键词"直达 代码数据获取: 获取方式:***文章底部卡片扫码获取*** 覆盖了YOLO相关项目、OpenCV项目、CNN项目等所有类别, 覆盖各类项目场景(包括但不限于以下----欢迎咨询定制): 项目名称项目名称基于YOLO+deepseek 智慧农业作物长势监测系统基于YOLO+deepseek 人脸识别与管理系统基于YOLO+deepseek 无人机巡检电力线路系统基于YOLO+deepseek PCB板缺陷检测基于YOLO+deepseek 智慧铁路轨道异物检测系统基于YOLO+deepseek 102种犬类检测系统基于YOLO+deepseek 人脸面部活体检测基于YOLO+deepseek 无人机农田病虫害巡检系统基于YOLO+deepseek 水稻害虫检测识别基于YOLO+deepseek 安全帽检测系统基于YOLO+deepseek 智慧铁路接触网状态检测系统基于YOLO+