AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率)
AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率)
AI(人工智能)的大框架有很多种,以下是一些常见的AI框架:
TensorFlow:由谷歌开发的开源机器学习框架,支持各种任务,包括图像识别、自然语言处理等。
PyTorch:由Facebook开发的开源深度学习框架,强调动态计算图和易用性。
Keras:一个高级神经网络API,可以在多个底层框架上运行,如TensorFlow和Theano。
Caffe:一个用于图像分类和卷积神经网络的深度学习框架。
Microsoft Cognitive Toolkit(CNTK):由微软开发的深度学习工具包,支持分布式训练和高性能计算。
MXNet:一个可扩展的深度学习框架,可以在多台机器上进行分布式训练。
tf.keras.utils.normalize 是 TensorFlow 中的一个方法,用于对数据进行归一化处理。归一化是一种常用的数据预处理技术,目的是将数据缩放到一个特定的范围内,常见的是将数据缩放到0到1之间。
示例代码:
import tensorflow as tfdata = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32)
normalized_data = tf.keras.utils.normalize(data, axis=-1, order=2)
print(normalized_data)
输出结果:
tf.Tensor(
[[0.26726124 0.5345225 0.80178374][0.4558423 0.5698029 0.68376344]], shape=(2, 3), dtype=float32)
参数说明:
x:输入的张量,可以是任意形状的张量。
axis:指定归一化的轴,默认为最后一个轴(-1),可以是一个整数或一个整数列表。
order:归一化的阶数,默认为2,表示按照L2范数进行归一化,也可以设置为1表示按照L1范数进行归一化。
下面是一个使用tf.keras模块构建和训练一个简单的分类模型的例子:
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
# 构建模型
model = keras.Sequential([layers.Dense(64, activation='relu', input_shape=(784,)),layers.Dense(10, activation='softmax')
])# 编译模型
model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])# 加载数据集
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()# 数据预处理
x_train = x_train.reshape(-1, 784).astype('float32') / 255.0
x_test = x_test.reshape(-1, 784).astype('float32') / 255.0
#MNIST数据集中的图像像素值的范围是0到255,通过将每个像素值除以255,可以将其缩放到0到1之间的范围。这样做有助于提高模型的训练效果和收敛速度。# 模型训练
model.fit(x_train, y_train, epochs=5, batch_size=32, validation_data=(x_test, y_test))# 模型评估
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
print('Test accuracy:', test_acc)
ReLU是一种常用的激活函数,它将负输入值设为0,正输入值保持不变。ReLU函数的定义为:f(x) = max(0, x)。
这个例子里面用的是input_shape=(784,)代表它处理的是一个一维数据;如果输入数据是一个大小为3x3的矩阵,可以将input_shape=(3, 3)作为参数传递给相应的层。
在神经网络的每个神经元中,激活函数的作用是引入非线性性,使得神经网络能够更好地拟合非线性关系。ReLU激活函数具有以下优点:
非线性:ReLU对于正输入值保持不变,因此能够学习非线性关系,帮助神经网络拟合复杂的数据。
计算简单:ReLU的计算非常简单,只需要判断输入值是否大于零并保持不变。相比其他激活函数,如sigmoid或tanh函数,ReLU的计算效率更高。
缓解梯度消失:ReLU在正输入值区域梯度为1,避免了梯度消失的问题,使得反向传播时梯度能够有效传递。
在神经网络中,通常在隐藏层中使用ReLU激活函数,而在输出层中根据具体的任务选择不同的激活函数。对于分类问题,常用的输出层激活函数是softmax,对于回归问题,可以使用线性激活函数或不使用激活函数。
对于分类问题中的多类别分类,常用的输出层激活函数是softmax函数。softmax函数是一种将实数向量映射为概率分布的函数。它将每个元素的值转化为一个介于0和1之间的概率,且所有元素的概率之和为1。
softmax函数的定义如下: f(x) = exp(x) / sum(exp(x_i)) for i in range(n)
其中,x是输入向量,n是向量的维度。
在多类别分类问题中,输出层通常具有与类别数相等的神经元。通过使用softmax激活函数,神经网络可以将输入的实数值转换为表示每个类别的概率分布。模型将预测的概率最大的类别作为最终的分类结果。
例如,对于一个具有3个类别的分类问题,输出层使用了softmax激活函数后,输出的向量可以表示为 [0.2, 0.5, 0.3],其中每个元素的值表示对应类别的概率。
model.compile(optimizer=‘adam’, loss=‘sparse_categorical_crossentropy’, metrics=[‘accuracy’])这行代码是用于编译神经网络模型的函数调用,其中的三个参数分别是optimizer、loss和metrics。
optimizer(优化器)参数指定了用于优化模型参数的算法。'adam’是一种常用的优化器,它基于随机梯度下降算法,并结合了动量和自适应学习率的技巧。Adam优化器可以在训练过程中自动调整学习率,具有较快的训练速度和良好的收敛性。
loss(损失函数)参数指定了模型在训练过程中使用的损失函数。'sparse_categorical_crossentropy’是一种常用的损失函数,适用于多类别分类问题。它计算模型预测结果与真实标签之间的交叉熵损失,帮助模型学习正确的类别概率分布。
metrics(评估指标)参数指定了模型在训练和测试过程中需要计算和报告的性能指标。[‘accuracy’]表示模型将计算并报告准确率作为评估指标。准确率是分类问题中常用的评估指标,它表示模型在所有预测中正确分类的样本比例。
model.fit(x_train, y_train, epochs=5, batch_size=32, validation_data=(x_test, y_test))是用于训练神经网络模型的函数调用。下面是对其中各个参数的详细解释:
x_train:训练集的输入数据。它是一个形状为(n_samples, n_features)的NumPy数组,其中n_samples表示训练样本的数量,n_features表示每个样本的特征数量。
y_train:训练集的标签数据。它是一个形状为(n_samples,)的NumPy数组,其中n_samples表示训练样本的数量。标签数据用于指示每个训练样本的真实类别或目标值。
epochs:训练的轮数。一个轮次(epoch)表示模型使用整个训练集进行一次前向传播和反向传播的过程。通过指定轮次数,可以控制模型训练的总次数。
batch_size:批大小。它指定了每次进行参数更新时使用的训练样本数量。将训练集分成多个批次可以加快训练过程,并且可以利用硬件加速的特性。
validation_data:验证数据。它是一个元组(x_val, y_val),其中x_val是用于验证模型性能的输入数据,y_val是对应的标签数据。在每个训练轮次结束后,模型将使用验证数据计算并报告验证指标,例如准确率或损失值。
verbose是用于控制输出信息的参数。
参数verbose有三个可能的取值:
verbose=0:不输出任何信息。
verbose=1:输出进度条,显示每个epoch的训练进度。
verbose=2:显示每个epoch的训练进度,并额外显示每个epoch结束后的评估指标。
相关文章:
AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率)
AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率) AI(人工智能)的大框架有很多种,以下是一些常见的AI框架: TensorFlow:由谷歌开发的开源机器学习框架,支持各种任务,包括图像…...
C++day01(QT简介、C++)
今日任务: 代码: #include <iostream>using namespace std;int main() {/** 输入字符串统计大写、小写、数字、空格以及其他字符的个数**/string s;cout << "请输入一个字符串" << endl;//cin >> s;getline(cin,s);i…...
Web server failed to start. Port 8080 was already in use
一、问题 package com.djc.boot;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annota…...
new和malloc的区别
new 和 malloc 都是在 C 中用于动态分配内存的方式,但它们之间有一些重要的区别 对象类型的区别: new:new 是 C 的关键字,用于动态分配对象。它可以调用对象的构造函数进行初始化,并返回指向所分配对象的指针。mallo…...
python:openpyxl 读取 Excel文件,显示在 wx.grid 表格中
pip install openpyxl openpyxl-3.1.2-py2.py3-none-any.whl (249 kB) et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB) 摘要:A Python library to read/write Excel 2010 xlsx/xlsm files pip install wxpython4.2 wxPython-4.2.0-cp37-cp37m-win_amd64.whl (18.0 M…...
12P2532X152 KJ3222X1-BA1 CE4003S2B1 EMERSON DELTAV
12P2532X152 KJ3222X1-BA1 CE4003S2B1 EMERSON DELTAV 除了标准的实时计算、通信和控制,边缘设备和关键网络应用的fog通常执行人工智能(AI)、虚拟现实(VR)和增强现实(AR)解决方案。 目前,制药商和医疗保健机构对它们的需求快速增长,因为它们…...
P1014 [NOIP1999 普及组] Cantor 表
#include <bits/stdc.h> using namespace std; int main() {int n,k1;cin>>n;while (n>k) {nn-k;k;}if(k%20) cout<<n<<"/"<<(k1-n);else cout<<k1-n<<"/"<<n;return 0; }...
JMeter性能分析实战一:日常登录接口
负载测试 日常需求:负载测试! 对于桥的负载测试:我给你20t的一排车辆,看你能不能撑得住20t! 对于系统的负载测试: 逐步增加负载,便于问题的发现和定位,不要操之过急。逐步增加负载…...
内外网结合的多服务发布架构
1. 需求 1)有多个独立的web服务需要对外发布。 2)有AIGC的大模型服务需要在内网图形工作站上运行,也需要对外发布接口。 3)所有服务需要通过域名访问。 2. 现有资源 1)阿里云上的ECS云服务器一台,考虑…...
Unity中Shader的光照模型Lambert
文章目录 前言一、Lambert光照模型1、公式可以使用图形计算器来看出这个点积对于结果的影响 前言 Unity中Shader的光照模型Lambert 一、Lambert光照模型 1、公式 A:可以理解为环境光的颜色 K:反射系数 LC:主要的入射光的颜色 N:…...
(一)Log4Net - 介绍
0、相关概念 Log4j 几乎每个大型应用程序都包含自己的日志记录或跟踪 API。根据这一规则,E.U. SEMPER 🌹项目决定编写自己的跟踪 API。那是在 1996 年初。经过无数次的增强、几个化身和大量的工作,API 已经发展成为 log4j —— 一个流行的 Ja…...
[bug] mysql 时间与本地不一致
通过 select now() 查询到的时间比本机少了8个小时。 show variables like %time_zone%; //查询当前时区set global time_zone8:00; //在标准时区上加8小时,即东8区时间flush privileges; # 立即生效...
【改造先序遍历】222. 完全二叉树的节点个数
222. 完全二叉树的节点个数 解题思路-先序 直接改造先序遍历算法针对一个节点 如果节点为空 那么直接返回0其余交给递归 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* …...
windows文件和目录相关命令
目录 dir:用于浏览当前文件夹的内容。 cd:用于更改所在的工作目录。 md:用于创建一个新的目录。 rd:用于删除文件夹,如果不加/s参数的话只能删除空目录。 echo:用于输出一段文本信息。 type࿱…...
TL-ER3220G端口映射设置
1、打开IE浏览器或其它浏览器,在地址栏输入192.168.1.1登录路由器的Web管理界面; 2、打开后弹出密码输入框,输入路由器的用户名和密码,出厂默认值为admin/admin,成功登录后将看到路由器的系统状态信息; 3、…...
MySQL Cluster
文章目录 1.简介2.组成参考文献 1.简介 MySQL Cluster 是官方推出的基于 NDB(Network DataBase)存储引擎的高可用和可伸缩的分布式数据库系统。 以下是 MySQL NDB Cluster 的主要特点和能力: 高可用:MySQL Cluster 具有内置的高…...
Spring封装的原生WebSocket使用,带组的实现
前言 为了和TIO来进行对比websocket的简易程度,我这篇就是写一下Spring原生的webSocket的正常操作 拿来对比就可以说说优劣性 正文 首先还是导入原生依赖,这里不需要写版本号 <dependency><groupId>org.springframework.boot</groupId><artifactId>spr…...
Linux高性能服务器编程 学习笔记 第十一章 定时器
网络程序需要处理定时事件,如定期检测一个客户连接的活动状态。服务器进程通常管理着众多定时事件,有效地组织这些定时事件,使其在预期的时间被触发且不影响服务器的主要逻辑,对于服务器的性能有至关重要的影响。为此,…...
jenkins拉取git代码 code 128解决方案
jenkins拉取git代码 code 128解决方案 处理方案: 先检查一下自己的账号正常是否有权限(如账号正常有权限请看第二步)找到Jenkins工作目录,重命名caches文件夹(或直接删除caches内的所有内容) # 进入到jenkins目录(注意…...
【Linux】 ls命令使用
ls(英文全拼: list directory contents)命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)。 ls命令 -Linux手册页 著者 由Richard M.Stallman和David MacKenzie撰写。 语法 ls [-alrtAFR] [name...] ls命…...
【CVE-2023-35843】NocoDB 任意文件读取漏洞
一、漏洞描述 NocoDB 是 Airtable 的开源替代方案,可以“一键”将 MySQL、PostgreSQL、SQL Server、SQLite 和 MariaDB 转换为智能电子表格。此软件存在任意文件读取漏洞。 二、影响范围 NocoDB<0.106.1 三、网络空间搜索引擎搜索 fofa查询 icon_hash"-…...
在 ubuntu 22.04 上配置界面服务器 vnc
xrdp服务器的安装 步骤 1.安装服务器 $ sudo apt install tightvncserver // 命令过后并没有启动服务器 // 这个包没有 systemd 脚本,其不被 systemd 管理!!!查看配置 $ cat ~/.vnc/xstartup #!/bin/shxrdb "$HOME/.Xresources" xsetroot -solid grey #x-termina…...
强化学习------Sarsa算法
简介 SARSA(State-Action-Reward-State-Action)是一个学习马尔可夫决策过程策略的算法,通常应用于机器学习和强化学习学习领域中。它由Rummery 和 Niranjan在技术论文“Modified Connectionist Q-Learning(MCQL)” 中…...
[HNCTF 2022 WEEK2]easy_unser - 反序列化+wakeup绕过+目录绕过
题目代码: <?php include f14g.php;error_reporting(0);highlight_file(__FILE__);class body{private $want,$todonothing "i cant get you want,But you can tell me before I wake up and change my mind";public function __construct($want){…...
FastThreadLocal 快在哪里 ?
FastThreadLocal 快在哪里 ? 引言FastThreadLocalset如何获取当前线程私有的InternalThreadLocalMap ?如何知道当前线程使用到了哪些FastThreadLocal实例 ? get垃圾回收 小结 引言 FastThreadLocal 是 Netty 中造的一个轮子,那么为什么放着…...
ggkegg | 用这个神包玩转kegg数据库吧!~(一)
1写在前面 好久没更了,实在是太忙了,值班真的是根本不不睡觉啊,一忙一整天,忙到怀疑人生。😭 最近看到比较🔥的就是ggkegg包,感觉使用起来还是有一定难度的。🫠 和大家分享一下使用教…...
【小黑送书—第三期】>>《深入浅出SSD》
近年来国家大力支持半导体行业,鼓励自主创新,中国SSD技术和产业良性发展,产业链在不断完善,与国际厂商的差距逐渐缩小。但从行业发展趋势来看,SSD相关技术仍有大幅进步的空间,SSD相关技术也确实在不断前进。…...
linux虚拟机查看防火墙状态
linux虚拟机查看防火墙状态 在Linux虚拟机中,你可以通过以下几种方法查看防火墙状态: 查看iptables防火墙状态 对于使用iptables防火墙的Linux系统,可以使用以下命令查看防火墙状态: sudo iptables -L -v -n查看firewalld防火墙…...
Docker 安装 MongoDB
一、什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 二、MongoDB的安装 这里使用docker来安装MongoD 1.docker 拉取mysql镜像 docker pu…...
c++解压压缩包文件
功能实现需要依赖相关头文件和库文件,我这里的是64位的。需要的可以在这下载:https://download.csdn.net/download/bangtanhui/88403596 参考代码如下: #include <zip.h> #pragma comment(lib,"libzip.lib")//解压压缩包 /…...
公司建网站费用怎么做分录/重庆百度搜索优化
题图 by Ovlivion 今天,有同事说我「变化还是挺大的」。 然后我认真思考了下,总结了以下几点变化,心里挺乐呵: 1.开始大量阅读 这里的阅读当然不是说看网易新闻、今日头条,或者看看抖音、快手。这些 App 现在有个说法叫…...
做网站什么价格/企业网站注册
前几天网易云音乐、喜马拉雅FM、企鹅FM 等音频/直播产品下架的消息,大家应该有所耳闻。其中一个指向就是算法。来源:网信办So,算法做错了什么?好的算法长什么样子?我们以网易云音乐举例展开。听歌、听 FM 都是非常私密…...
个人网站效果图咋做/昆明百度关键词优化
水下光通信系统是一种利用光作为信息传输媒介的通信系统,通常应用于水下环境中。要使用Matlab建立水下光通信系统,需要首先了解光学传输理论和水下环境的特点,例如水下传输介质的折射率、水的吸收系数等。然后可以利用Matlab编写程序…...
网站栏目内容/武汉谷歌seo
题库来源:安全生产模拟考试一点通公众号小程序 2022低压电工考试题是低压电工题库上机考试练习题!2022年低压电工考试试题模拟考试平台操作依据低压电工考前押题。低压电工练习题通过安全生产模拟考试一点通模拟在线真实考试。 1、【单选题】( )仪表由固…...
服装外贸流程/长沙seo 优化选智投未来no1
1. 前言 本文讲解自注意力机制(Self-Attention)。 本人全部文章请参见:博客文章导航目录 本文归属于:自然语言处理系列 本系列实践代码请参见:我的GitHub 前文:注意力机制(Attention࿰…...
怎么制作网站小游戏/seo公司 杭州
如何搭建知识付费系统?如何搭建一个知识付费课程平台知识付费一直很火爆,在这个不确定的时代,很多人已经明确知道,学习是终身的事情,也有人在说这只是在制造焦虑,但知识付费越来越火是个明确的事实。这就有…...