自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(157)
  • 收藏
  • 关注

原创 回归任务和分类任务损失函数详解

文章摘要:本文介绍了回归任务和分类任务中常用的损失函数。回归任务方面,详细讲解了均方误差(MSE)、平均绝对误差(MAE)和Huber损失,分析其数学定义、特点和应用场景。分类任务方面,从信息论基础出发,阐述了交叉熵的概念及其衍生公式,包括熵、相对熵(KL散度)等,并通过PyTorch实现展示了具体应用。文章通过数学公式和代码示例相结合的方式,帮助理解不同损失函数的计算原理和实际使用。特别说明交叉熵在分类问题中的重要性及其优化过程。

2025-06-04 19:56:32 851

原创 常见优化器Optimizer总结

本文介绍了PyTorch中常用的优化器及其原理。从基础的梯度下降(GD)开始,分析了批量梯度下降(BGD)和小批量梯度下降(MBGD)的特点。重点讲解了随机梯度下降(SGD)及其改进方法:带动量的SGD通过累积历史梯度加速收敛,Nesterov动量则通过预测梯度位置进一步优化。此外还介绍了RMSProp优化器,它通过梯度平方的移动平均自适应调整学习率。这些优化器各有优势,SGD适合大规模数据,动量法能逃离局部最优,RMSProp则使训练更稳定。优化器的选择需要结合具体任务和数据特点。

2025-06-04 19:22:07 787

原创 激活函数和归一化、正则化

激活函数与神经网络优化技术概述 激活函数:Sigmoid(0-1输出)、tanh(-1-1输出)等早期函数因梯度消失问题逐渐被ReLU系列取代。ReLU及其变体(Leaky ReLU)因计算高效成为主流,新型函数如Swish在深层网络中表现优异。不同任务需针对性选择激活函数。 归一化技术:BatchNorm通过标准化每层输入分布,显著加速训练并提升泛化能力,适用于CNN等视觉任务。其他方法如LayerNorm更适合NLP长序列处理。归一化已成为深度模型标配组件。 正则化方法:Dropout通过随机屏蔽神经元

2025-06-04 19:08:40 575

原创 [神经网络]使用olivettiface数据集进行训练并优化,观察对比loss结果

本文构建了一个基于Olivetti人脸数据集的神经网络模型,结合归一化和正则化技术进行优化。实验使用PyTorch框架,通过多层感知机(4096-8192-16384-1024-40)结构,并引入Dropout层防止过拟合。结果显示损失函数在训练初期波动较大(3.7-13.7),但随着训练进行逐渐稳定在3.68-3.69区间。这表明模型学习能力有限,可能存在欠拟合问题。后续可尝试调整网络深度、优化器参数或数据增强等方法来提升性能。

2025-05-28 21:12:47 957 1

原创 回归任务损失函数对比曲线

本文对比了三种回归任务常用损失函数的曲线特征:均方误差(MSE)对大误差更敏感,二次增长;平均绝对误差(MAE)对所有误差线性增长;而Huber损失结合二者优点,在小误差时类似MSE,大误差时转为线性增长。通过可视化分析,直观展示了这些损失函数在不同误差区间的表现差异,为回归任务选择合适的损失函数提供了参考依据。

2025-05-28 20:48:46 603

原创 神经网络模型搭建:调整模型结构并观察训练结果

本文还是以KMNIST为数据集构建神经网络模型,在此基础上调整模型结构,使用不同的激活函数,使用不同的隐藏层,并观察对比训练结果

2025-04-24 14:51:49 246

原创 使用KMNIST数据集训练神经网络模型

KMNIST数据集是一个专门用于日文手写字符识别的深度学习数据集。它由ROIS-CodH团队维护并开源,旨在作为MNIST数据集的日语版本,用于评估机器学习和深度学习模型在多语言文字识别上的能力数据集结构KMNIST数据集包含70,000个高分辨率的手写样本,每类10,000个样本,总计46种不同的字符类型。数据集分为训练集、验证集和测试集,比例分别为50,000:10,000:10,000。每个图像都是28x28像素的灰度图像,与经典的MNIST数据集格式一致网站地址# 导入必要包。

2025-04-24 11:10:35 438

原创 Pytorch图像数据转为Tensor张量

Pytorch图像数据转为Tensor张量

2025-04-23 14:38:57 543

原创 PyTorch神经网络实战:搭建、训练与优化全解析

PyTorch神经网络实战:搭建、训练与优化全解析

2025-04-22 10:59:10 833

原创 神经网络的数学之旅:从输入到反向传播

在深度学习中,必须要说的就是神经⽹络,或者说是⼈⼯神经⽹络(artificial neural network)。神经⽹络是⼀种⼈类受到⽣物神经细胞结构启发⽽研究出的算法体系。神经⽹络这个名字容易让⼈觉得特别神秘,不像我们接触过的程序算法那样直观,在编程的时候我们常⽤到的都是⼀些加减乘除、循环、分⽀、⽐⼤⼩、读写等等,使⽤这些基本步骤就能够完成⼀个明确的⽬标务,然⽽神经⽹络和这种直观的⽅式还真有些不同。

2025-04-19 17:24:58 1208

原创 PyTorch逻辑回归总结

pytorch逻辑回归总结

2025-04-15 19:40:00 1380

原创 pytorch实现逻辑回归

pytorch实现逻辑回归

2025-04-15 19:35:07 361

原创 使用numpy构建逻辑回归模型及训练流程

逻辑回归模型构建及训练流程

2025-04-11 18:40:15 359

原创 梯度下降法中学习率的观察

梯度下降法中学习率的观察

2025-04-10 16:32:07 804

原创 pytorch逻辑回归基本概念

逻辑回归就是在线性回归基础上套一层sigmoid函数,将线性回归结果转换为概率值,逻辑回归就是计算概率的函数似然函数就是已知自变量,利用它预测模型中的参数(本质就是条件概率函数)

2025-04-10 13:57:32 1072

原创 pytorch计算图Computation_graph是什么

引言:计算图(数据流图)类似于数学中的流程图和数据结构中的图

2025-04-08 19:38:03 1060

原创 [自然语言处理]pytorch概述--什么是张量(Tensor)和基本操作

PyTorch 是⼀个开源的深度学习框架,由 Facebook 的⼈⼯智能研究团队开发和维护,于2017年在GitHub上开源,在学术界和⼯业界都得到了⼴泛应⽤

2025-02-28 09:00:00 1232 2

原创 [自然语言处理基础]NumPy基本操作

NumPy 是 Python 中科学计算的基本包。它是一个 Python 库,提供多维数组对象、各种派生对象(如掩码数组和矩阵)以及用于对数组进行快速操作的各种例程,包括数学、逻辑、形状操作、排序、选择、I/O、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。NumPy 数组在创建时具有固定大小,这与 Python 列表(可以动态增长)不同。更改数组的大小ndarray将创建新数组并删除原始数组。NumPy 数组中的所有元素都必须是同一数据类型,因此在内存中的大小也相同。

2025-02-28 08:45:00 784

原创 【云原生系列CKA备考】新建虚拟机安装Ubuntu20.04系统

一台兼容的 Linux 主机(或者云主机)。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令。每台机器 2 GB 或更多的 RAM(如果少于这个数字将会影响你应用的运行内存)。CPU 2 核心及以上。集群中的所有机器的网络彼此均能相互连接(公网和内网都可以)。禁用交换分区。为了保证 kubelet 正常工作,你禁用交换分区。

2022-12-25 21:08:16 2036 2

原创 【云原生系列CKA备考】Kubernetes架构

​ OpenStack是管理虚拟机的,底层依靠虚拟化技术;kubernetes是管理容器的,底层也是依靠虚拟化技术,原理其实差不多,可以理解容器就是虚拟化的升级。Kubernetes的架构原理性内容我在这篇博客K8S架构中已经写过,这边就只简单介绍一些相关组件,大家可以给专栏点个专注,后面将持续更新CKA的考试大纲相关内容。写过,这边就只简单介绍一些相关组件,大家可以给专栏点个专注,后面将持续更新CKA的考试大纲相关内容。

2022-12-15 00:28:15 1294 2

原创 【云原生监控系列第三篇】Prometheus普罗米修斯进阶——PromQL的指标类型

这种方式的问题很明显,以系统 API 调用的平均响应时间为例:如果大多数 API 请求都维持在 100ms 的响应时间范围内,而个别请求的响应时间需要 5s,那么就会导致某些 Web 页面的响应时间落到中位数的情况,而这种现象被称为长尾问题。例如,假设 http 请求响应时间的样本的 9 分位数(quantile=0.9)的上边界为 0.01,即表示小于等于 0.01 的样本值的数量占总体样本值的 90%bucket 可以理解为是对数据指标值域的一个划分,划分的依据应该基于数据值的分布。

2022-11-18 01:28:13 6290 106

原创 【云原生监控系列第二篇】Prometheus进阶——PromQL数据类型

PromQL(Prometheus Query Language)是Prometheus内置的数据查询语言。支持用户进行实时的数据查询及聚合操作。Prometheus基于指标名称(metrics name)以及附属的标签集(labelset)唯一定义一条时间序列指标名称代表着监控目标上某类可测量属性的基本特征标识标签则是这个基本特征上再次细分的多个可测量维度指标名称相同,但是标签不同也是不同的时间序列。

2022-11-09 08:00:00 2981 75

原创 【云原生Kubernetes系列第六篇】Kubernetes的认证和授权

为解决这个问题,就有了CA证书认证机构,就是一个中间商,是给所有人颁发证书的这样一个机构,所有正常的网站的证书都在这个地方存储,当A问B索要公钥拿到公钥后,他就要去CA查询这个公钥是否合法,一看这个公钥是存在的,是哪个公司的,他的域名是什么,包括所有人是谁,各种各样的信息在CA都有备案,CA告诉A这个公钥是我颁发的,那么A使用这个公钥就是安全的。角色包含名字、权限、操作等信息。此时使用的是不同的算法,产生的密钥也不同,加密的密钥和解密的密钥互为一个密钥对,加密的称为公钥,解密的称为私钥。

2022-09-11 08:30:00 1452 5

原创 【云原生监控系列第一篇】一文详解Prometheus普罗米修斯监控系统(山前前后各有风景,有风无风都很自由)

zabbix是传统的监控系统,出现比云原生早,使用的是SQL关系型数据库;而Prometheus基于谷歌的borgemon使用go语言开发,使用TSDB数据库,所以支持云原生。zabbix最新发布的6.0版本,知道自己处于生死存亡时刻,也支持了Prometheus使用的TSDB数据库。Prometheus是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheusserver会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行。...

2022-07-31 08:00:00 6271 58

原创 【云原生Docker系列第十二篇】Docker consul的容器服务更新与发现(清晨和夜晚都请用力去生活)

服务注册与发现是微服务架构中不可或缺的重要组件。因为起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。原来架构改进后的架构consul提供的一些关键特性。...

2022-07-30 14:50:20 502 17

原创 【云原生Kubernetes系列项目实战第一篇】k8s集群+高可用负载均衡层+防火墙( 提及年少一词,应与平庸相斥)

实验拓扑(1)Kubernetes区域可采用Kubeadm方式进行安装。(2)要求在Kubernetes环境中,通过yaml文件的方式,创建2个NginxPod分别放置在两个不同的节点上,Pod使用hostPath类型的存储卷挂载,节点本地目录共享使用/data,2个Pod副本测试页面二者要不同,以做区分,测试页面可自己定义。(3)编写service对应的yaml文件,使用NodePort类型和TCP30000端口将Nginx服务发布出去。节点IP安装组件。......

2022-07-26 07:30:00 2069 34

原创 【云原生Kubernetes系列第七篇】一文掌握k8s之YAML文件(少攀谈,多沉潜,清醒而独立)

一文掌握k8s之YAML文件

2022-07-20 17:35:43 1482 43

原创 【云原生Kubernetes系列第五篇】kubeadm v1.20 部署K8S 集群架构(人生这道选择题,总会有遗憾)

前面使用二进制搭建了k8s,较为繁琐,本篇博客将介绍使用kubeadm搭建k8s以及部署Harbor私服。

2022-07-18 08:00:00 4850 93

原创 【云原生Docker系列第十一篇】Docker harbor私有仓库部署与管理(有故事的人根本不会讲故事)

上一篇博客,我们讲了搭建本地私有仓库,但是本地私有仓库的管理和使用比较麻烦,这个原生的私有仓库并不好用,所以我们采用harbor私有仓库,也叫私服,更加人性化。

2022-07-17 14:09:24 1087 15

原创 【云原生Docker系列第十篇】搭建本地私有仓库(我问青山何时老,青山问我几时闲)

由于网络的原因,从DockerHub下载和上传镜像速度可能会比较慢;在生产上使用的Docker镜像可能包含我们的代码、配置信息等,不想被外部人员获取,只允许内网的开发人员下载。为了解决以上问题,Docker官方提供了一个叫做registry的镜像用于搭建本地私有仓库使用。在内部网络措建的Docker私有仓库可以使内网人员下载、上传都非常快速,不受外网带宽等因素的影响,同时不在内网的人员也无法下载我们的镜像,并且私有仓库也支持配置仓库认证功能。接下来详细讲解registry。......

2022-07-16 19:11:08 850 15

原创 【云原生Kubernetes系列第四篇】二进制部署多master集群Kubernetes(k8s)v1.20( 一生不缺浪漫,唯独装不下遗憾)

搭建多master集群Kubernetes之前先要完成单节点部署,单节点部署参照上一篇博客【云原生Kubernetes系列第三篇】二进制部署单节点Kubernetes(k8s)v1.20node节点的kubelet.kubeconfig和kube-proxy.kubeconfig文件写明了apiserver的端口号和master节点的IP地址,从而找到master节点,当我们在部署集群的时候,就要有两个master,但是一个集群中只能有一个主,该如何指定呢?我们可以使用VIP地址。httpshttps。..

2022-07-15 17:44:10 2164 53

原创 【云原生Kubernetes系列第三篇】二进制部署单节点Kubernetes(k8s)v1.20(不要因为别人都在交卷,自己就乱写答案)

常见的K8S按照部署方式●MinikubeMinikube是一个工具,可以在本地快速运行一个单节点微型K8S,仅用于学习、预览K8S的一些特性使用。https●KubeadminKubeadmin也是一个工具,提供kubeadminit和kubeadmjoin,用于快速部署K8S集群,相对简单。https●二进制安装部署生产首选,从官方下载发行版的二进制包,手动部署每个组件和自签TLS证书,组成K8S集群,新手推荐。httpsetcd分布式键值对数据库,服务发现系统。...

2022-07-15 08:48:01 3187 119

原创 【云原生Docker系列第九篇】Docker-Compose 容器集群的快速编排(理想主义永远不会被现实主义所招安)

Dockerfile可以让用户管理一个单独的应用容器;而Compose则允许用户在一个模板(YAML格式)中定义一组相关联的应用容器(被称为一个project,即项目),例如一个Web服务容器再加上后端的数据库服务容器等。Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service)以及容器(container)。Docker-Compose

2022-07-11 21:46:53 1268 24

原创 【云原生Docker系列第七篇】浅谈镜像的分层原理(几位?“两位”)

镜像是Docker容器的基石,容器时镜像的运行实例,有了镜像才能启动容器Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜像。公共镜像库,默认是国外的源,即使可能做了CDN,下载速度还是比较慢,可以使用国内的源例如阿里云来加速阿里云镜像加速hello-world是Docker官方提供的一个镜像,可以用来验证Docker是否安装成功。我们从Docker Hub上下载它,如下图所示:用docker images命令查看镜像信息,如下图所

2022-07-11 15:47:34 1063 10

原创 【云原生Kubernetes系列第二篇】Kubernetes(k8s)核心组件(对的人兜兜转转最后还是会遇见)

Kubernetes(K8S)是一个容器集群编排工具,提高对大规模容器管理的效率,实现在多台主机上编排容器,实现服务发现、服务调度、动态伸缩等功能用于暴露 Kubernetes API,任何资源请求或调用操作都是通过 kube-apiserver 提供的接口进行。以 HTTP Restful API 提供接口服务,所有对象资源的增删改查和监听操作都交给 API Server 处理后再提交给 Etcd 存储。API Server的架构:Controller Manager结构图运行管理控制器,是 K8S 集

2022-07-11 08:32:55 1083 12

原创 【云原生Kubernetes系列第一篇】深入理解容器集群管理系统Kubernetes(k8s)原理(相遇的意义在于彼此照亮)

Kubernetes 是的缩写为:K8s这个缩写是因为 k 和 s 之间有八个字符的关系。Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。用于自动部署、扩展和管理“容器化(containerized) 应用程序"的开源系统。可以理解成K8S是负责自动化运维管理多个容器化程序(比如Docker)的集群,是一个生态极其丰富的容器编排框架

2022-07-10 22:26:34 1289 15

原创 Ansible中的inventory主机清单(预祝你我有数不尽的鲜花和浪漫)

本篇博客主要解释Ansible主机清单的相关配置知识Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。如果是名称类似的主机,可以使用列表的方式表示各个主机......

2022-07-06 19:32:36 778 9

原创 Ansible报错:“msg“: “Invalid/incorrect password: Permission denied, please try again.“

Ansible报错:"msg": "Invalid/incorrect password: Permission denied, please try again."

2022-07-06 16:59:21 6370 5

原创 Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)

常用的自动化工具有:Ansible是一个基于 Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操作。Ansible是 基于模块工作 的,它只是提供了一种运行框架,它本身没有完成任务的能力,真正执行操作的是A

2022-07-06 09:05:42 996 9

原创 企业级日志分析系统ELK(如果事与愿违那一定另有安排)

使用20-30台服务器的中小型系统架构使用Rsyslog+日志服务器来远程收集给远程主机,配合使用shell或Python脚本;大型的系统架构使用ELK日志分析系统本篇博客主要有以下内容:ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。Kibana 通常与 Elasticsearch 一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Das

2022-07-04 00:18:06 1086 12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除