深度学习入门:神经网络
目录
- 1. 从感知机到神经网络
- 1.1 神经网络的例子
- 1.2 复习感知机
- 1.3 激活函数登场
- 2 激活函数
- 2.1 sigmoid函数
- 2.2 阶跃函数的实现
- 2.3 阶跃函数的图形
- 2.4 sigmoid函数的实现
- 2.5 sigmoid函数和阶跃函数的比较
- 2.6 非线性函数
- 2.7 ReLU函数
- 3 多维数组的运算
- 3.1 多维数组
- 恒等函数
- softmax激活函数
神经网络的一个重要性质是它可以自动地从数据中学习到合适的权重参数。不像感知机那样,设定权重的工作,即确定合适的、能符合预期的输入与输出的权重,是由人工进行的。
1. 从感知机到神经网络
1.1 神经网络的例子
用图来表示神经网络的话,如图①所示。我们把最左边的一列称为输入层,最右边的一列称为输出层,中间的一列称为中间层。中间层有时也称为隐藏层。“隐藏”一词的意思是,隐藏层的神经元(和输入层、输出层不同)肉眼看不见。另外,书中把输入层到输出层依次称为第0层、第1层、第2层(层号之所以从0开始,是为了方便后面基于Python进行实现)。图①中,第0层对应输入层,第1层对应中间层,第2层对应输出层。
1.2 复习感知机
不同于之前的神经网络,这次我们在图中明确地表示出b,可以像图②那样做。图②中添加了权重为b的输入信号1。这个感知机将x1、x2、1三个信号作为神经元的输入,将其和各自的权重相乘后,传送至下一个神经元。在下一个神经元中,计算这些加权信号的总和。
现在将式①改写成更加简洁的形式。为了简化式①,我们用一个函数来表示这种分情况的动作(超过0则输出1,否则输出0)。引入新函数h(x),将式①改写成下面的式②和式③。
式②中,输入信号的总和会被函数h(x)转换,转换后的值就是输出y。然后,式③所表示的函数h(x),在输入超过0时返回1,否则返回0。因此,式①和式②、式③做的是相同的事情。
1.3 激活函数登场
刚才登场的h(x)函数会将输入信号的总和转换为输出信号,这种函数一般称为激活函数(activation function)。如“激活”一词所示,激活函数的作用在于决定如何来激活输入信号的总和。
现在来进一步改写式②。式②分两个阶段进行处理,先计算输入信号的加权总和,然后用激活函数转换这一总和。
首先计算加权输入信号和偏置的总和,记为a。然后用h()函数将a转换为输出y。
如图所示,表示神经元的○中明确显示了激活函数的计算过程,即信号的加权总和为节点a,然后节点a被激活函数h()转换成节点y。(“节点”=“神经元”)
2 激活函数
式③表示的激活函数以阈值为界,一旦输入超过阈值,就切换输出。这样的函数称为“阶跃函数”。因此,可以说感知机中使用了阶跃函数作为激活函数。也就是说,在激活函数的众多候选函数中,感知机使用了阶跃函数。那么,如果感知机使用其他函数作为激活函数的话会怎么样呢?实际上,如果将激活函数从阶跃函数换成其他函数,就可以进入神经网络的世界了。
2.1 sigmoid函数
神经网络中经常使用的一个激活函数就是式(3.6)表示的sigmoid函数(sigmoid function)。
神经网络中用sigmoid函数作为激活函数,进行信号的转换,转换后的信号被传送给下一个神经元。实际上,上一章介绍的感知机和接下来要介绍的神经网络的主要区别就在于这个激活函数。其他方面,比如神经元的多层连接的构造、信号的传递方法等,基本上和感知机是一样的。下面,让我们通过和阶跃函数的比较来详细学习作为激活函数的sigmoid函数。
2.2 阶跃函数的实现
阶跃函数如式③所示,当输入超过0时,输出1,否则输出0。可以像下面这样简单地实现阶跃函数。
def step_function(x):if x > 0:return 1else:return 0
这个实现简单、易于理解,但是参数x只能接受实数(浮点数)。也就是说,允许形如step_function(3.0)的调用,但不允许参数取NumPy数组,例如step_function(np.array([1.0, 2.0]))。为了便于后面的操作,我们把它修改为支持NumPy数组的实现。为此,可以考虑下述实现。
def step_function(x):y = x > 0return y.astype(np.int)
上述函数的内容只有两行。由于使用了NumPy中的“技巧”,可能会有点难理解。下面我们通过Python解释器的例子来看一下这里用了什么技巧。下面这个例子中准备了NumPy数组x,并对这个NumPy数组进行了不等号运算。
>>> import numpy as np
>>> x = np.array([-1.0, 1.0, 2.0])
>>> x
array([-1., 1., 2.])
>>> y = x > 0
>>> y
array([False, True, True], dtype=bool)
对NumPy数组进行不等号运算后,数组的各个元素都会进行不等号运算,生成一个布尔型数组。这里,数组x中大于0的元素被转换为True,小于等于0的元素被转换为False,从而生成一个新的数组y。数组y是一个布尔型数组,但是我们想要的阶跃函数是会输出int型的0或1的函数。因此,需要把数组y的元素类型从布尔型转换为int型。
>>> y = y.astype(np.int)
>>> y
array([0, 1, 1])
如上所示,可以用astype()方法转换NumPy数组的类型。astype()方法通过参数指定期望的类型,这个例子中是np.int型。Python中将布尔型转换为int型后,True会转换为1,False会转换为0。以上就是阶跃函数的实现中所用到的NumPy的“技巧”。
2.3 阶跃函数的图形
下面我们就用图来表示上面定义的阶跃函数,为此需要使用matplotlib库。
import numpy as np
import matplotlib.pylab as plt
def step_function(x):return np.array(x > 0, dtype=np.int)
x = np.arange(-5.0, 5.0, 0.1)
y = step_function(x)
plt.plot(x, y)
plt.ylim(-0.1, 1.1) # 指定y轴的范围
plt.show()
2.4 sigmoid函数的实现
def sigmoid(x):return 1 / (1 + np.exp(-x))
这里,np.exp(-x)对应exp(−x)。
x = np.arange(-5.0, 5.0, 0.1)
y = sigmoid(x)
plt.plot(x, y)
plt.ylim(-0.1, 1.1) # 指定y轴的范围
plt.show()
2.5 sigmoid函数和阶跃函数的比较
相对于阶跃函数只能返回0或1,sigmoid函数可以返回0.731 . . .、0.880 . . .等实数(这一点和刚才的平滑性有关)。也就是说,感知机中神经元之间流动的是0或1的二元信号,而神经网络中流动的是连续的实数值信号。
接着说一下阶跃函数和sigmoid函数的共同性质。阶跃函数和sigmoid函数虽然在平滑性上有差异,但是如果从宏观视角看,可以发现它们具有相似的形状。实际上,两者的结构均是“输入小时,输出接近0(为0);随着输入增大,输出向1靠近(变成1)”。也就是说,当输入信号为重要信息时,阶跃函数和sigmoid函数都会输出较大的值;当输入信号为不重要的信息时,两者都输出较小的值。还有一个共同点是,不管输入信号有多小,或者有多大,输出信号的值都在0到1之间。
2.6 非线性函数
阶跃函数和sigmoid函数还有其他共同点,就是两者均为非线性函数。sigmoid函数是一条曲线,阶跃函数是一条像阶梯一样的折线,两者都属于非线性的函数。
神经网络的激活函数必须使用非线性函数。换句话说,激活函数不能使用线性函数。为什么不能使用线性函数呢?因为使用线性函数的话,加深神经网络的层数就没有意义了。
线性函数的问题在于,不管如何加深层数,总是存在与之等效的“无隐藏层的神经网络”。为了具体地(稍微直观地)理解这一点,我们来思考下面这个简单的例子。这里我们考虑把线性函数 h(x) = cx 作为激活函数,把y(x) = h(h(h(x)))的运算对应3层神经网络A。这个运算会进行y(x) = c × c × c × x的乘法运算,但是同样的处理可以由y(x) = ax(注意,a = c 3)这一次乘法运算(即没有隐藏层的神经网络)来表示。如本例所示,使用线性函数时,无法发挥多层网络带来的优势。因此,为了发挥叠加层所带来的优势,激活函数必须使用非线性函数。
2.7 ReLU函数
def relu(x):return np.maximum(0, x)
3 多维数组的运算
如果掌握了NumPy多维数组的运算,就可以高效地实现神经网络。
3.1 多维数组
>>> import numpy as np
>>> A = np.array([1, 2, 3, 4])
>>> print(A)
[1 2 3 4]
>>> np.ndim(A)
1
>>> A.shape
(4,)
>>> A.shape[0]
4
数组的维数可以通过np.dim()函数获得。此外,数组的形状可以通过实例变量shape获得。在上面的例子中,A是一维数组,由4个元素构成。注意,这里的A.shape的结果是个元组(tuple)。这是因为一维数组的情况下也要返回和多维数组的情况下一致的结果。例如,二维数组时返回的是元组(4,3),三维数组时返回的是元组(4,3,2),因此一维数组时也同样以元组的形式返回结果。
>>> B = np.array([[1,2], [3,4], [5,6]])
>>> print(B)
[[1 2]
[3 4]
[5 6]]
>>> np.ndim(B)
2
>>> B.shape
(3, 2)
这里生成了一个3 × 2的数组B。3 × 2的数组表示第一个维度(从外往里数第一个中括号里面的内容)有3个元素,第二个维度有2个元素。另外,第一个维度对应第0维,第二个维度对应第1维(Python的索引从0开始)。二维数组也称为矩阵(matrix)。
—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
在写文章的过程中我发觉我更多只是在复制搬运书本的内容,而这样的工作既累又不见得有所收获,而且失去了作为学习笔记的便捷、轻量,所以下面的内容我将选取我认为值得重点记忆的知识内容(不是说书本里的其他知识不值得记忆,只是每个人的记忆点不同,非常推荐大家都去看原书,对小白很有帮助)而不是根据书本的逻辑顺序一点点做笔记,所以内容可能会有点跳跃。
一般地,回归问题可以使用恒等函数,二元分类问题可以使用sigmoid函数,多元分类问题可以使用softmax函数。
恒等函数
softmax激活函数
def softmax(a):exp_a = np.exp(a)sum_exp_a = np.sum(exp_a)y = exp_a / sum_exp_areturn y
上面的softmax函数的实现虽然正确描述了式①,但在计算机的运算上有一定的缺陷。这个缺陷就是溢出问题。softmax函数的实现中要进行指数函数的运算,但是此时指数函数的值很容易变得非常大。比如,e^10的值会超过20000,e100会变成一个后面有40多个0的超大值,e1000的结果会返回一个表示无穷大的inf。如果在这些超大值之间进行除法运算,结果会出现“不确定”的情况。
首先,式②在分子和分母上都乘上C这个任意的常数(因为同时对分母和分子乘以相同的常数,所以计算结果不变)。然后,把这个C移动到指数函数(exp)中,记为log C。最后,把log C替换为另一个符号C’。式②说明,在进行softmax的指数函数的运算时,加上(或者减去)某个常数并不会改变运算的结果。这里的C’可以使用任何值,但是为了防止溢出,一般会使用输入信号中的最大值。我们来看一个具体的例子。
>>> a = np.array([1010, 1000, 990])
>>> np.exp(a) / np.sum(np.exp(a)) # softmax函数的运算
array([ nan, nan, nan]) # 没有被正确计算
>>>
>>> c = np.max(a) # 1010
>>> a - c
array([ 0, -10, -20])
>>>
>>> np.exp(a - c) / np.sum(np.exp(a - c))
array([ 9.99954600e-01, 4.53978686e-05, 2.06106005e-09])
如该例所示,通过减去输入信号中的最大值(上例中的c),我们发现原本为nan(not a number,不确定)的地方,现在被正确计算了。综上,我们可以像下面这样实现softmax函数。
def softmax(a):c = np.max(a)exp_a = np.exp(a - c) # 溢出对策sum_exp_a = np.sum(exp_a)y = exp_a / sum_exp_areturn y
使用softmax()函数,可以按如下方式计算神经网络的输出。
>>> a = np.array([0.3, 2.9, 4.0])
>>> y = softmax(a)
>>> print(y)
[ 0.01821127 0.24519181 0.73659691]
>>> np.sum(y)
1.0
softmax函数的输出值的总和是1。输出总和为1是softmax函数的一个重要性质。正因为有了这个性质,我们才可以把softmax函数的输出解释为“概率”。
比如,上面的例子可以解释成y[0]的概率是0.018(1.8 %),y[1]的概率是0.245(24.5 %),y[2]的概率是0.737(73.7 %)。从概率的结果来看,可以说“因为第2个元素的概率最高,所以答案是第2个类别”。而且,还可以回答“有74 %的概率是第2个类别,有25 %的概率是第1个类别,有1 %的概率是第0个类别”
这里需要注意的是,即便使用了softmax函数,各个元素之间的大小关系也不会改变。这是因为指数函数(y = exp(x))是单调递增函数。实际上,上例中a的各元素的大小关系和y的各元素的大小关系并没有改变。比如,a的最大值是第2个元素,y的最大值也仍是第2个元素。一般而言,神经网络只把输出值最大的神经元所对应的类别作为识别结果。并且,即便使用softmax函数,输出值最大的神经元的位置也不会变。因此,神经网络在进行分类时,输出层的softmax函数可以省略。在实际的问题中,由于指数函数的运算需要一定的计算机运算量,因此输出层的softmax函数一般会被省略。
求解机器学习问题的步骤可以分为“学习” 和“推理”两个阶段。首先,在学习阶段进行模型的学习,然后,在推理阶段,用学到的模型对未知的数据进行推理(分类)。如前所述,推理阶段一般会省略输出层的softmax函数。在输出层使用softmax函数是因为它和神经网络的学习有关系(这个推理处理也称为神经网络的前向传播(forward propagation))。
相关文章:
深度学习入门:神经网络
目录 1. 从感知机到神经网络1.1 神经网络的例子1.2 复习感知机1.3 激活函数登场 2 激活函数2.1 sigmoid函数2.2 阶跃函数的实现2.3 阶跃函数的图形2.4 sigmoid函数的实现2.5 sigmoid函数和阶跃函数的比较2.6 非线性函数2.7 ReLU函数 3 多维数组的运算3.1 多维数组 恒等函数soft…...
Unity有限制状态机FSM
我是标题 前言有限制状态机框架框架图:主要代码: 前言 一般的小型游戏的状态机会使用一个枚举类来枚举所有的状态,然后使用一个switch case来处理所有状态的行为逻辑,但是用这种方式会形成大量的冗余,因为所有的行为逻…...
bash的特性-命令和文件自动补全
在Linux或Unix操作系统中,Bash(Bourne Again SHell)是最常用的命令行解释器之一。它提供了丰富的功能来提升用户的交互体验,其中命令和文件名的自动补全是提高效率的一大利器。本文将详细介绍Bash中的自动补全功能,包括…...
聊聊价值投资
投资的必要性 如果手上现在有10w元,投资时间是50年,就算年化收益率只有15%,最终的财富值也会超过1亿元。而且通货膨胀会让你的存款购买力越来越少,如果你有无法及时花出去的钱,投资是必要的。05年的时候我家楼下的包子…...
ADI的BF561双核DSP怎么做开发,我来说一说(十六)触摸屏的设计
作者的话 ADI的双核DSP,最早的一颗是Blackfin系列的BF561,这颗DSP我用了很久,比较熟悉,且写过一些给新手的教程。 硬件准备 ADZS-BF561-EZKIT开发板:ADI原厂评估板 AD-ICE20000仿真器:ADI现阶段性能最好…...
基于labview的2PSK调制与解调
前面板如上图所示。 以上为产生随机序列的程序 以上为星座图程序 如需要源代码可联系我...
2021-11-01 C++输入十个数求最大最小和第二大第二小的值
缘由c语言输入十个数求最大最小和第二大第二小的值-编程语言-CSDN问答 这是个有意思的题目,考虑可扩展...如果是4个元素的数组,实现O(N)排序 void 输入十个数求最大最小和第二大第二小的值() {//缘由https://ask.csdn.net/ques…...
红人矩阵化运营策略:2025跨境电商如何高效布局海外红人营销
在全球社交媒体营销日益精细化的今天,跨境电商品牌正从单一红人合作转向系统化、团队化的“红人矩阵化运营”。尤其在TikTok、Instagram、YouTube等主流平台逐渐成熟的背景下,如何构建高效的海外红人营销矩阵,成为品牌实现全域曝光与精准转化…...
c# Kestrel
Kestrel 是 .NET 中用于 ASP.NET Core 应用程序的跨平台 Web 服务器。它是轻量级且高性能的,能够处理大量并发连接,常被用作 ASP.NET Core 应用的默认服务器。以下为你介绍 Kestrel 的基本使用和配置: 基本使用 创建一个简单的 ASP.NET Cor…...
算法训练之贪心
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...
ThreeJs实现裸眼3D地球仪
一、实现效果 使用Three.js实现裸眼3D地球仪 二、实现代码 代码如下: <!DOCTYPE html> <html> <head><title>3D Earth</title><style>body { margin: 0; }canvas { display: block; }</style> </head> <body…...
0x07.Redis 的 hash 是什么?
回答重点: Redis 的 Hash 是一种键值对集合,允许将多个字段与其对应的值存储在同一个键中,从而方便管理和操作关联数据。它的主要特点包括: 高效存储:Hash 采用哈希表实现,能够在内存中高效地存储和操作小规模的数据集,非常适合存储对象的属性。快速操作:支持对字段的…...
今日一记:逆序打印字符、五人年龄计算、对N个数排序
今日进行三道题的练习 题目一:逆序打印字符 核心需求:将输入的n个字符以相反顺序输出。 算法分析: 递归思想: 递归函数先读取字符,直到输入结束(如换行符或EOF)。 在递归返回时打印字符&…...
【笔记】对抗训练-GAN
对抗训练-GAN 深度学习中 GAN 的对抗目标函数详解与最优解推导一、GAN 的基本对抗目标函数二、判别器与生成器的博弈目标三、判别器的最优解推导四、最优判别器的含义五、总结六、WGAN 的动机(为后续铺垫) 深度学习中 GAN 的对抗目标函数详解与最优解推导…...
Python六大数据类型与可变类型
数字类型包括整型(int),浮点型(float),布尔型(bool),复数型(complex)。整型只能存储整数,浮点型可以存储整数和小数,布尔型…...
回溯-day65
回溯 什莫事回溯 回溯法也可以叫做回溯搜索法,它是一种搜索的方式 回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本…...
(2)VTK C++开发示例 --- 绘制多面锥体
文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容👉内容导航 👈👉VTK开发 👈 1. 概述 VTK C开发示例程序; 使用C 和VTK绘制一个多面锥体。 环境说明系统ubuntu22.04、windows11cmake3.22、3.2…...
合同智能审核技术的发展与应用
一、背景与行业现状 合同审查作为企业合同管理的关键环节,其核心价值在于确保合同内容符合法律法规要求并契合企业内部政策。随着企业业务规模扩张带来的合同数量激增,传统人工审查方式在效率和成本方面的局限性日益凸显。这一现状为人工智能技术在合同…...
cryptozombies合约7
我们的合约几乎就要完成了!让我们加上一个事件. 事件 是合约和区块链通讯的一种机制。你的前端应用“监听”某些事件,并做出反应。 例子: // 这里建立事件 event IntegersAdded(uint x, uint y, uint result);function add(uint _x, uint _y) public…...
DeepSeek 接入 Word 完整教程
一、前期准备 1.1 注册并获取 API 密钥 访问 DeepSeek 平台: 打开浏览器,访问 DeepSeek 官方网站(或您使用的相应平台)。注册并登录您的账户。 创建 API 密钥: 在用户控制面板中,找到“API Keys”或“API…...
ARCGIS PRO DSK 利用两期地表DEM数据计算工程土方量
利用两期地表DEM数据计算工程土方量需要准许以下数据: 当前地图有3个图层,两个栅格图层和一个矢量图层 两个栅格图层:beforeDem为工程施工前的地表DEM模型 afterDem为工程施工后的地表DEM模型 一个矢量图层…...
大数据学习栈记——Redis安装及其使用
本文介绍NoSQL技术:Redis的安装及其使用。操作系统:Ubuntu24.04 Redis介绍 Redis是一个键值(key-value)存储系统,即键值对非关系型数据库,和Memcached类似,目前正在被越来越多的互联网公司采用…...
前端工程化之自动化构建
自动化构建 自动化构建的基本知识历史云构建 和 自动化构建 的区别:部署环境:构建:构建产物构建和打包的性能优化页面加载优化构建速度优化 DevOps原则反馈的技术实践 encode-bundlepackage.json解读src/cli-default.tssrc/cli-node.tssrc/cl…...
camx的xml解析
ls out/target/product/<product>/gen/STATIC_LIBRARIES/libcamxgenerated_intermediates/generated g_chromatix g_facedetection g_parser g_sensorg_chromatix/ tuning相关xml的解析codeg_facedetection/ 人脸检测相关xml的解析codeg_parser/ 主要的解析manager 流…...
虚幻引擎 Anim To Tex| RVT | RT
本文上篇分为4个部分:动画驱动材质,虚拟纹理,Rendertarget,以及其他杂项的地编ta干货整理。(其中RT部分基本为UOD重要截图摘录) 本文下篇为:skylight和directional light的区别,未完…...
计算机视觉与深度学习 | 钢筋捆数识别
===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 钢筋捆数 1、初始结果2、处理效果不佳时的改进方法1、预处理增强2、后…...
关于PHP开源CMS系统ModStart的详细介绍及使用指南
关于PHP开源CMS系统ModStart的详细介绍及使用指南: 🔍 ModStart是什么? 基于Laravel框架开发的模块化CMS系统采用Apache 2.0 开源协议,完全免费可商用特别适合需要快速搭建企业级网站/管理系统的开发者 🚀 核心优势…...
VMware vCenter Server 安全漏洞升级方案一则
一、安全漏洞情况 根据VMware提供的安全建议(VMSA-024-0012),VMware vCenter Server可能经受以下漏洞的威胁: 漏洞一为VMware vCenter Server堆溢出漏洞(CVE-2024-37079,CVE-2024-37080)&…...
Linux服务之网络共享
目录 一.存储类型 二.NFS 2.1定义 2.2工作原理 2.3优势 2.4NFS工具 2.4.1exportfs 2.4.2showmount 2.5NFS相关软件及命令 2.6模拟实现NFS 准备工作(服务端和客户端都需要) 服务端位置 客户端配置 测试 补充:设置自动挂载 一.存…...
接口幂等性问题
幂等性问题出现在创建和更新数据时: 一、创建 1、在创建数据时,数据库方面,创建有效的唯一索引,用来数据兜底,并在程序中做异常捕获。 2、在插入数据时可以创建一个防重表做过滤,如果防重数据比较小又需…...
LeetCode每日一题4.14
1534. 统计好三元组 问题分析 遍历数组,满足好三元组定义,count1 思路 枚举i,j,k 代码 class Solution:def countGoodTriplets(self, arr: List[int], a: int, b: int, c: int) -> int:n len(arr)count 0for i in range…...
活动安排问题 之 前缀和与差分
文章目录 D. Robert Hood and Mrs Hood 考虑到一个活动开始时间和结束时间s,e,那么可以影响到的范围就是 s-d1,e,所以我们只需对这个每一个活动可以影响到的区域进行标记即可,当然为了降低时间复杂度,我们将使用前缀和与差分 t int(input()…...
HTTP 和 HTTPS 协议的区别及使用场景
在互联网的世界里,HTTP 和 HTTPS 是我们经常接触到的两种网络协议,它们在数据传输、安全性等方面存在诸多差异,适用的场景也各有不同。 一、HTTP 和 HTTPS 的基本概念 HTTP,即超文本传输协议(Hyper - Text Transfer Protocol),是一种用于分布式、协作式和超媒体信息…...
SAP 供应链:采购订单ME21N创建关键点
一、ME21N创建采购订单关键点 采购组织/采购组 字段:EKORG(采购组织)、EKGRP(采购组)关键点:采购组织必须与公司代码(Company Code)关联,采购组对应采购员职责范围示例&…...
重构无人机动力控制范式:Breeze 55A FOC 电调技术深度测评 ——全新Vfast 观测器如何突破效率与精度双重瓶颈
一、引言 在无人机动力系统中,电调(电子调速器)作为连接电池与电机的核心枢纽,其控制精度、效率及可靠性直接影响飞行性能。南昌长空科技的Breeze 55A FOC 电调凭借全新 Vfast 观测器技术与成熟的 FOC(矢量控制&#…...
LLM做逻辑推理题-哪一项圈出后不用找零
题目: 某天,两男两女走进一家自助餐厅,每人从机器上取下一许如下图所示的标价单。 50、95 45、90 40、85 35、80 30、75 25、70 20、65 15、60 10、55 (1)四人要同样的食品…...
第十章 json操作
第十章 json操作 文章目录 第十章 json操作一、Marshal 序列化二、Unmarshal 反序列化1 已知数据解析2 未知数据解析3 json测试 一、Marshal 序列化 package mainimport ("encoding/json""fmt" ) type Animal struct {Name string json:"name"…...
Python-Django集成yolov识别模型摄像头人数监控网页前后端分离
程序示例精选 Python-Django集成yolov识别模型摄像头人数监控网页前后端分离 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《Python-Django集成yolov识别模型摄像头人数监控网页前后端分离…...
「出海匠」借助CloudPilot AI实现AWS降本60%,支撑AI电商高速增长
🔎公司简介 「出海匠」(chuhaijiang.com)是「数绘星云」公司打造的社交内容电商服务平台,专注于为跨境生态参与者提供数据支持与智能化工作流。平台基于大数据与 AI 技术,帮助商家精准分析市场趋势、优化运营策略&…...
tsconfig.json配置不生效
说明一下我遇到的问题,这是我的配置文件代码的 {"compilerOptions": {"module": "none","target": "ES5","outFile": "./dist/bundle.js"} } 和我想象不同的是,我编译成 js 没…...
WebFlux应用中获取x-www-form-urlencoded数据的六种方法
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
GPT4O画图玩法案例,不降智,非dalle
网址如下: 玩法1:吉卜力(最火爆) 提示词:请将附件图片转化为「吉卜力」风格,尺寸不变 玩法2:真人绘制 提示词:创作一张图片,比例4:3,一个20岁的中国女孩…...
【Python爬虫】简单案例介绍1
目录 三、Python爬虫的简单案例 3.1 网页分析 单页 三、Python爬虫的简单案例 本节以科普中国网站为例。 3.1 网页分析 单页 在运用 Python 进行爬虫开发时,一套严谨且有序的流程是确保数据获取高效、准确的关键。首先,深入分析单个页面的页面结构…...
【CAPL实战:以太网】MAC地址由整数形式转换为字符串形式的自定义函数
我在文章MAC地址在字符串形式、数字形式和byte数组中的转换中讲过MAC地址在字符串形式、数字形式和byte数组中的转换方法和思想。如果你仔细阅读过这篇文章,那么MAC地址的形式要如何转换,自定义函数要如何实现它肯定也能信手拈来。如果你还不会也没有关系,今天我们尝试用另一…...
#4 我们为什么使用物联网? 以及 物联网的整体结构
设备不物联是否可以? 答案 是可以的,从项目实战的角度,还是有很多包括分拣,控制,检测等应用是分立的,这个和成本,场景,客户接受度等因素有关。 局部看,一些系统的确很简…...
MQTT、HTTP短轮询、HTTP长轮询、WebSocket
一、协议“明星定位”仿写 MQTT:物联网领域的**“明星协议”**,专为低带宽、高延迟网络环境下的设备通信而生。HTTP短轮询:数据拉取界的**“劳模”**,用简单粗暴的频繁请求换取数据更新。HTTP长轮询:短轮询的**“智能…...
Apache Commons CLI 入门教程:轻松解析命令行参数
文章目录 Apache Commons CLI 入门教程:轻松解析命令行参数一、什么是 Commons CLI?二、为什么选择 Commons CLI?三、快速开始1. 添加依赖2. 基础示例3. 运行示例1. 在Idea中运行2. 命令行中运行3. 使用 Maven/Gradle 运行(推荐&a…...
Kubernetes Operator 是什么,以及它们的用途
最近一个朋友问我关于EKS的升级问题: 场景: 如果我有 100 个 EKS 集群需要升级,那么所有集群都安装了安全插件。由于我不想在升级后手动在每个EKS中重复安装此插件,如何实现EKS升级后自动安装这个安全插件? 答案有多…...
SAP ABAP语言中的比较运算符
一、基本比较运算符 运算符描述关键字形式符号形式示例等于EQIF a EQ b 或 IF a b不等于NE<>IF a NE b 或 IF a <> b大于GT>IF a GT b 或 IF a > b小于LT<IF a LT b 或 IF a < b大于等于GE❌ 不支持IF a GE b小于等于LE❌ 不支持IF …...
10秒调用大模型!思源笔记+Ollama实现实时AI推理助力写作效率提升
文章目录 前言1. 下载运行Ollama框架2. Ollama下载大语言模型3. 思源笔记设置连接Ollama4. 测试笔记智能辅助写作5. 安装Cpolar工具6. 配置Ollama公网地址7. 笔记设置远程连接Ollama8. 固定Ollama公网地址 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂…...