当前位置: 首页 > news >正文

车辆重识别代码笔记12.19

1、resnet_ibn_a和resnet网络的区别

ResNet-IBN-A 是在 ResNet 基础上进行了一些改进的变种,具体来说,它引入了 Instance Batch Normalization (IBN) 的概念,这在某些任务中(如图像识别、迁移学习等)有显著的性能提升。下面是 ResNet-IBN-A标准ResNet 之间的主要区别:

1. Instance Batch Normalization (IBN)实例批量归一化
  • 标准ResNet 使用传统的 Batch Normalization (BN) 来进行归一化处理。BN是将每一层的输出按照批次维度进行归一化,这对于大多数任务表现良好,但在某些情况下,尤其是当批次大小较小或在不同域之间迁移时,可能会遇到问题。

  • ResNet-IBN-A 引入了 Instance Batch Normalization (IBN),即同时使用 Instance Normalization (IN)Batch Normalization (BN) 来处理不同的特征。具体来说,IBN-A 会将输入特征图分成两部分:

    • 一部分使用 Instance Normalization(通常用于样式迁移任务等,基于每个样本的归一化)。

    • 另一部分使用 Batch Normalization(通常用于图像分类任务,基于整个批次的归一化)。

    这种设计的目的是结合 Instance NormalizationBatch Normalization 的优点,能够更好地处理多样化的特征表示,尤其是在跨领域迁移学习和 无监督学习 等任务中表现出色。

Instance Normalization (IN):实例标准化(IN):

  • IN 是在每个样本内进行归一化,常见于图像风格迁移中,能够去除图像中的统计特性(如风格信息)。

Batch Normalization (BN):批量归一化(BN):

  • BN 是基于整个批次的统计信息进行归一化,常用于提高深度网络的训练稳定性和加速收敛。

在 ResNet-IBN-A 中,IBN 层会把特征图分成两部分:

  • 其中一部分使用 Instance Normalization 来处理。

  • 另一部分使用 Batch Normalization 来处理。

2. 改进的网络结构
  • ResNet-IBN-A 在网络结构的设计上与 ResNet 保持高度一致,只是在网络的部分卷积层中引入了 IBN 层。

  • ResNet-IBN-A 的每个残差块(Bottleneck)中会对卷积输出进行 IBN 处理,通常是添加在 ReLU 激活函数前后。IBN 层的作用是帮助网络更好地适应图像的域变化(例如,在处理风格迁移任务或者迁移学习任务时),从而增强网络的泛化能力。

3. 性能差异
  • 标准ResNet 上,使用 Batch Normalization 可以显著加速训练并稳定学习过程,但在某些任务中(尤其是风格迁移、图像生成等任务)可能会出现过拟合或者迁移学习性能较差的情况。

  • ResNet-IBN-A 通过引入 Instance Batch Normalization,使得网络在多个任务和领域上有更强的表现,特别是在 域适应风格迁移小样本学习 或者 跨领域迁移学习 中,它能显著提高模型的性能和泛化能力。

4. 适用任务
  • ResNet 通常用于图像分类、目标检测等任务,在这些任务上表现已经非常好。

  • ResNet-IBN-A 更适用于需要跨领域迁移学习、无监督学习、风格迁移等任务。通过 IBN 结构,它能够在多域任务中提供更强的适应性和性能,尤其在处理复杂的视觉变化时(如图像风格或领域不同的图片)。

5. 具体改进的实现

ResNet-IBN-A 在每个Bottleneck层中的卷积操作后插入了 IBN 层。具体来说,假设你有一个ResNet的基础架构,你可以通过以下步骤将其改为 ResNet-IBN-A:

  • 将原来每个残差块中的 Batch Normalization 替换为 Instance Batch Normalization (IBN)

  • IBN 会将每个卷积输出的特征图分为两部分,并分别进行 Instance NormalizationBatch Normalization 处理。

总结:
  • ResNet-IBN-A标准ResNet 的主要区别在于引入了 Instance Batch Normalization (IBN),这一设计通过结合 Instance NormalizationBatch Normalization 的优点,提高了网络在跨域任务、迁移学习、无监督学习和风格迁移等方面的表现。

  • 标准ResNet 更适合传统的图像分类任务,而 ResNet-IBN-A 更适合在多样化或复杂环境中进行训练,尤其在不同的视觉领域间迁移时具有优势。

2、 def load_param(self, model_path):

  • load_param 函数的目的是从预训练模型中加载除全连接层之外的其他层的参数,并将这些参数复制到当前模型中。全连接层的参数会被跳过,因此该函数通常用于迁移学习,其中我们希望加载卷积层的预训练参数,而重新训练全连接层。

  • 具体操作

    1. 使用 torch.load(model_path) 加载模型参数。

    2. 遍历加载的参数字典。

    3. 对于每一个参数,检查其名称是否包含 'fc',如果是全连接层则跳过。

    4. 对于非全连接层的参数,将其值复制到当前模型中对应的层。

        该方法适用于模型的迁移学习任务,尤其是在进行特定任务的微调(fine-tuning)时,通常会加载预训练模型的卷积层权重,而重新初始化最后的全连接层以适应新的分类任务。

3、 def freeze_backbone(self):

        定义了一个名为 freeze_backbone 的方法,主要功能是 冻结 网络的 backbone 部分的参数,使得这些部分的参数在训练过程中不更新。通常在迁移学习中,冻结特定层(如卷积层)可以加速训练,并避免对已经学到的特征进行破坏,尤其是当我们只对网络的最后几层进行微调时。

        这些层和模块通常负责提取输入图像的特征,因此在迁移学习中,backbone 部分通常在训练过程中保持不变(冻结),只训练网络的最后几层(例如分类层)来适应新任务。

  param.requires_grad = False:通过设置 param.requires_gradFalse,使得这些参数在训练过程中不计算梯度,也就是说它们的值不会在反向传播过程中更新。具体来说:

  • requires_grad 是一个布尔值,当为 True 时,表示需要计算该参数的梯度(即该参数是可训练的),当为 False 时,表示该参数不参与梯度计算(即该参数被冻结,训练时不会更新)。

4、代码 

 if self.neck == 'no':self.classifier = nn.Linear(self.in_planes, self.num_classes)  # 池化后的通道数为2048,FC的输出为类别数量# self.classifier = nn.Linear(self.in_planes, self.num_classes, bias=False)     # new add by luo# self.classifier.apply(weights_init_classifier)  # new add by luoelif self.neck == 'bnneck':self.bottleneck = nn.BatchNorm1d(self.in_planes)#禁用批量归一化层中的偏置项(bias)。#requires_grad_(False) 表示偏置项的梯度不再参与反向传播,即在训练过程中该偏置项不会更新。self.bottleneck.bias.requires_grad_(False)  # no shiftself.classifier = nn.Linear(self.in_planes, self.num_classes, bias=False)

这段代码根据 neck 的值来选择不同的分类器设计:

  • neck == 'no':直接将池化后的特征通过一个简单的全连接层进行分类,没有任何额外的处理。适用于模型较简单的情况,不需要额外的特征转换或标准化。

  • neck == 'bnneck':在分类之前添加了一个批量归一化层 BatchNorm1d,用于对输入特征进行标准化处理,以提高训练稳定性并加速训练。批量归一化帮助缓解梯度消失或爆炸的问题,也能减少对权重初始化的敏感度。

neck 的作用

  • 'no':不使用额外的处理,只是一个简单的全连接层。

  • 'bnneck':在全连接层之前增加了批量归一化层,通常用于改善训练的稳定性和加速收敛。

这种方式常见于深度学习中的 迁移学习特征提取 任务,特别是当网络的最后几层需要根据不同任务进行微调时。

5、self.training

在 PyTorch 中,self.training 是一个由 PyTorch 内部自动管理的布尔值,用于指示模型当前是否处于训练模式。这个属性属于 nn.Module 类,是每个模型实例(即继承自 nn.Module 的模型)自动提供的。你可以直接通过 self.training 来检查当前模型是处于训练模式(True)还是推理模式(False)。

工作原理

1. self.training 的自动管理

  • 训练模式:当你调用 model.train() 时,self.training 会自动设置为 True,表示模型处于训练模式。

  • 推理模式:当你调用 model.eval() 时,self.training 会自动设置为 False,表示模型处于推理模式。

self.training 是 PyTorch 为了方便区分训练和推理模式而设计的。通过该属性,你可以在 forward 方法中根据模型的状态来调整行为(例如启用或禁用 Dropout)。

相关文章:

车辆重识别代码笔记12.19

1、resnet_ibn_a和resnet网络的区别 ResNet-IBN-A 是在 ResNet 基础上进行了一些改进的变种,具体来说,它引入了 Instance Batch Normalization (IBN) 的概念,这在某些任务中(如图像识别、迁移学习等)有显著的性能提升。…...

c语言---预处理

预处理的概念 预处理是C语言编译过程的第一个阶段。在这个阶段,预处理器会根据预处理指令对源程序进行处理,这些指令以#开头,比如#include、#define等。预处理的主要目的是对源程序进行文本替换和文件包含等操作,为后续的编译步骤…...

Spring Cloud Sleuth 分布式链路追踪入门

您好,我是今夜写代码,今天学习下分布式链路组件Spring Cloud Sleuth。 本文内容 介绍了分布式链路的思想 Sleuth 和 Zipkin 简单集成Demo,并不涉及 Sleuth原理。 为什么要用链路追踪? 微服务架构下,一个复杂的电商应用,完成下…...

无人机航测系统技术特点!

一、无人机航测系统的设计逻辑 无人机航测系统的设计逻辑主要围绕实现高效、准确、安全的航空摄影测量展开。其设计目标是通过无人机搭载相机和传感器,利用先进的飞行控制系统和数据处理技术,实现对地表信息的全方位、高精度获取。 需求分析&#xff1…...

uniapp使用腾讯地图接口的时候提示此key每秒请求量已达到上限或者提示此key每日调用量已达到上限问题解决

要在创建的key上添加配额 点击配额之后进入分配页面,分配完之后刷新uniapp就可以调用成功了。...

【Prompt Engineering】3.文本概括

一、引言 文本信息量大,LLM在文本概括任务上展现出强大能力。本章介绍如何通过编程方式调用API接口实现文本概括功能。 首先,我们需要引入 zhipuAI 包,加载 API 密钥,定义 getCompletion 函数。 from zhipuai import ZhipuAIke…...

5G 模组 初始化状态检测

5G 模组 上电检测 5G 模组 上电检测 #终端上电后,待模组正常启动,再进入 控制台。 #vim /etc/profile##新增 until [ -c /dev/ttyUSB1 ] doecho -e "Wait module[5G] up ... "sleep 5 done ##新增The End....

常用的前端框架介绍

在前端开发中,有几个常用的框架技术,它们各自具有独特的特点和优势。 1. React: • 组件化开发:React 鼓励将 UI 拆分成可复用的组件,每个组件负责渲染 UI 的一部分。 • 虚拟 DOM:React 使用虚拟 DOM 来提…...

python飞机大战游戏.py

python飞机大战游戏.py import pygame import random# 游戏窗口大小 WINDOW_WIDTH 600 WINDOW_HEIGHT 800# 颜色定义 BLACK (0, 0, 0) WHITE (255, 255, 255)# 初始化Pygame pygame.init()# 创建游戏窗口 window pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))…...

PPO: 一种通过近端策略优化提高模型性能的方法

PPO: 一种通过近端策略优化提高模型性能的方法 PPO(Proximal Policy Optimization)是一种强化学习中的策略优化算法,主要用于训练智能体以改善在环境中表现的能力。PPO通过以下几个关键点来提高模型性能: 近端优化:PP…...

Docker创建一个mongodb实例,并用springboot连接 mongodb进行读写文件

一、通过Docker 进行运行一个 mongodb实例 1、拉取镜像 docker pull mongo:5.0.5 2、创建 mongodb容器实例 docker run -d --name mongodb2 \-e MONGO_INITDB_ROOT_USERNAMEsalaryMongo \-e MONGO_INITDB_ROOT_PASSWORD123456 \-p 27017:27017 \mongo:5.0.5 3、进入容器&am…...

[IT项目管理]九.项目质量管理

九.项目质量管理 9.1项目质量管理的重要性 对于很多IT项目的差劲,大多数人只可以忍受。项目质量管理是IT项目管理的重要组成部分,对于提高项目成功率、降低项目成本、提升客户满意度至关重要。尽管很多人对IT项目的质量问题感到无奈&#x…...

Unity中的委托和事件(UnityAction、UnityEvent)

委托和事件 🎒什么是委托,委托的关键字是Delegate,委托是一种函数的容器,运行将函数做为变量来进行传递 通过Delegate关键字我们声明了一个无参无返回的委托,通过这个委托我们可以存储无参无返回的函数 public deleg…...

图像生成工具WebUI

介绍 Stable Diffusion WebUI(AUTOMATIC1111,简称A1111)是一个为高级用户设计的图形用户界面(GUI),它提供了丰富的功能和灵活性,以满足复杂和高级的图像生成需求。如今各种人工智能满天飞&…...

Python面试常见问题及答案12

问题: 请解释Python中的GIL(全局解释器锁)是什么? ○ 答案: GIL是Python解释器中的一种机制,用于确保任何时候只有一个线程在执行Python字节码。这在多线程场景下可能影响性能优化,但对于单线程…...

javalock(六)CyclicBarrier

注意:CyclicBarrier不是AQS的派生类,而是CyclicBarrier内部使用了ReentrantLock.Condition 和CountDownLatch一样,都是计数减为0就可以成功获取锁 和CountDownLatch不同的是: 1:CountDownLatch的await和countdown操作…...

React 19有哪些新特性?

写在前面 2024.12.5,React 团队在 react.dev/blog 上发表了帖子 react.dev/blog/2024/1… React 19 正式进入了 stable 状态 React 团队介绍了一些新的特性和 Breaking Changes,并提供了升级指南, React 19: 新更新、新特性和新Hooks Reac…...

大数据治理:构建数据驱动的智慧教学体系

随着大数据技术在教育领域的逐渐渗透,大数据治理在教学中的应用日益广泛,它为提升教学质量、优化教学资源配置以及实现个性化教学提供了有力支持。 一、大数据治理在教学数据管理中的应用 在教学过程中,会产生海量的数据,如学生的…...

梳理你的思路(从OOP到架构设计)_浅尝架构师的滋味03

目录 1、分与合: 强龙与地头蛇的分工 分工 & 合作 分工的时间点 客人来之前做「分」,客人来之后做「合」 2、结语 肯德基餐厅 火锅店 汽车 从分工到外包模式 1、分与合: 强龙与地头蛇的分工 EIT造形用来表达架构师的先「分」与买…...

ChatGPT与领域特定语言的集成

用ChatGPT做软件测试 领域特定语言(Domain-Specific Language,DSL)是一种编程语言,专门设计用于满足特定领域或问题领域的需求。它是一种定制的语言,通常包括特定领域的专业术语以及相应的语法规则。DSL的设计旨在让领…...

sql server msdb数据库备份恢复

备份 BACKUP DATABASE [msdb] TO DISK ND:\liyuanshuai\test\sqlserver_bakfile\msdb20241219.bak WITH NOFORMAT, NOINIT, NAME Nlys-完整 数据库 备份, SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS 10 GO然后删除2个测试的job,停止 SQL Server 代理…...

MyBatis(二)

一、MyBatis 和 JDBC 有什么区别? JDBC 是 Java 访问数据库的基础 API,它需要大量的样板代码。比如,使用 JDBC 进行查询时,需要加载驱动、建立连接、创建语句、执行查询、处理结果集和关闭资源等操作。代码比较繁琐且容易出错。M…...

Docker:Dockerfile(补充四)

这里写目录标题 1. Dockerfile常见指令1.1 DockerFile例子 2. 一些其他命令 1. Dockerfile常见指令 简单的dockerFile文件 FROM openjdk:17LABEL authorleifengyangCOPY app.jar /app.jarEXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar"]# 使…...

Hexo博客生成标签和分类页

个人博客地址:Hexo博客生成标签和分类页 | 一张假钞的真实世界。 标签页 默认情况下,Hexo站点创建后,需手动生成标签页。如不生成,在点击“标签”菜单时会出现以下错误: Cannot GET /tags/ 执行以下命令创建标签页…...

Linux基础 -- 使用Linux Shell通过TCP发送消息

使用Linux Shell通过TCP发送消息 本文档介绍如何使用Linux Shell命令,通过TCP协议向服务器发送消息,示例中的目标服务器地址为 192.168.1.32,端口为 15000。 示例代码 使用 printf 和 netcat(简称 nc)工具实现&…...

联表查询相关语法

1.查询sql语句的执行顺序 sql:语法 select distinct * from 左表名 (left/inner/right)join 右表名 on 连接条件 where 筛选条件 group by 分组的列表(按什么字段分组) having 分组条件 order by 排序的字段 limit 分页 以上为语法结构,顺序不能乱执行顺序&#x…...

upload-labs(1-19关)通关攻略

Pass-01 本关思路&#xff1a;删除前端js校验 进入第一关环境 桌面新建一个php文件&#xff0c;命名为1.php <?php eval($_POST[a]);?> 我们上传此文件&#xff0c;发现不允许上传&#xff0c;且页面没有变化&#xff0c;说明前端进行了拦截 这时我们打开 F12 &…...

C语言小练习-求数组的最大子数组

#include <stdio.h>/***暴力求解最大子数组&#xff0c;使用两重循环&#xff0c;把所有情况全部遍历一遍。*/ int subArr1(int *arr,int size) {int sum 0, max arr[0];int i,j;for(i 0;i < size; i){for(j i; j < size; j){sum arr[j];if(sum > max){max…...

初识C语言之二维数组(中)

一.二维数组练习 ①题目描述:打印多个字符从两端移动&#xff0c;向中间汇聚。 eg. ################ H###############! He##############!! Hel#############!!! Hell############!!!! Hello##########t!!!! ................................................. He…...

Ubuntu下迁移Conda环境

Ubuntu下快速迁移Conda环境到其他电脑 安装conda-pack pip install conda-packOr conda install conda-pack压缩conda环境 解压到目标电脑或者目标文件下 conda pack -n your_envs_name -o your_envs_name.tar.gz解压conda环境 mkdir your_new_envs_name tar -zxvf your_e…...

数据可视化-1. 折线图

目录 1. 折线图适用场景分析 1. 1 时间序列数据展示 1.2 趋势分析 1.3 多变量比较 1.4 数据异常检测 1.5 简洁易读的数据可视化 1.6 特定领域的应用 2. 折线图局限性 3. 折线图代码实现 3.1 Python 源代码 3.2 折线图效果&#xff08;网页显示&#xff09; 1. 折线图…...

MATLAB绘图基础12:地理信息可视化

参考书&#xff1a;《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 12.地理信息可视化 12.1 地理散点图 地理散点图用于可视化地理坐标点分布的图形&#xff0c;适用于在地图上显示离散地理坐标点&#xff0c;每个点可以代表不同的实体、地点或其他类型的观测…...

C语言与C++

文件概念 在C语言中&#xff0c;文件是一个重要的概念&#xff0c;用于组织和存储数据。文件主要分为两类&#xff1a; 程序文件 &#xff1a;包含源代码、目标文件和可执行文件。 数据文件 &#xff1a;存储程序运行时读写的各类数据。 文件名通常由三部分组成&#xff1a;…...

C# 中的闭包

文章目录 前言一、闭包的基本概念二、匿名函数中的闭包1、定义和使用匿名函数2、匿名函数捕获外部变量3、闭包的生命周期 三、Lambda 表达式中的闭包1、定义和使用 Lambda 表达式2、Lambda 表达式捕获外部变量3、闭包的作用域 四、闭包的应用场景1、事件处理2、异步编程3、迭代…...

基于DockerCompose搭建Redis主从哨兵模式

linux目录结构 内网配置 哨兵配置文件如下&#xff0c;创建3个哨兵配置文件 # sentinel26379.conf sentinel26380.conf sentinel26381.conf 内容如下 protected-mode no sentinel monitor mymaster redis-master 6379 2 sentinel down-after-milliseconds mymaster 60000 s…...

UIP协议栈 TCP通信客户端 服务端,UDP单播 广播通信 example

文章目录 1. TCP通信 客户端&#xff08;关键配置&#xff09;2. TCP 服务端配置3. UDP 点播通信4. UDP 广播通信5. UIP_UDP_APPCALL 里边的处理example6. TCP数据处理 &#xff0c;UIP_APPCALL调用的函数 UIP_APPCALL TCP的数据都在这个宏定义的函数里进行数据处理的 UDP 数据…...

LeetCode:226.翻转二叉树

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;226.翻转二叉树 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 …...

Visual Studio 使用 GitHub Copilot 扩展

&#x1f380;&#x1f380;&#x1f380;【AI辅助编程系列】&#x1f380;&#x1f380;&#x1f380; Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…...

Unity实现Root Motion动画的Navigation自动导航

Root motion动画可以将角色的根节点&#xff08;通常是角色的骨盆或脚部&#xff09;的运动直接应用到游戏对象上&#xff0c;从而实现角色的自然移动和旋转&#xff0c;避免出现脚底打滑的现象。采用Root motion动画的游戏对象&#xff0c;通常是重载了onAnimatorMove函数&…...

vulnhub靶场【DriftingBlues】之9 final

前言 靶机&#xff1a;DriftingBlues-6&#xff0c;IP地址192.168.1.66 攻击&#xff1a;kali&#xff0c;IP地址192.168.1.16 都采用虚拟机&#xff0c;网卡为桥接模式 主机发现 使用arp-scan -l或netdiscover -r 192.168.1.1/24 信息收集 使用nmap扫描端口 网站探测 访…...

Python连接和操作Elasticsearch详细指南

Python连接和操作Elasticsearch详细指南 一、服务器端配置1. 修改 Elasticsearch 配置文件2. 开放防火墙端口 二、本地 Python 连接 Elasticsearch1. 连接 Elasticsearch2. 索引操作3. 文档操作4. 搜索内容5. 聚合查询6. 批量操作 三、注意事项四、故障排除结论 Elasticsearch …...

JMeter 使用详解

JMeter 使用详解 Apache JMeter 是一款开源的性能测试工具&#xff0c;可用于对静态和动态资源&#xff08;如 Web 应用、数据库、REST API 等&#xff09;进行负载测试和性能测试。以下是 JMeter 的详细使用指南&#xff1a; 1. JMeter 安装 下载 JMeter&#xff1a; 从 Apac…...

[SZ901]程序固化工具速度对比

SZ901高速下载器提供程序固化工具&#xff0c;能够快速将bin文件烧写到FLASH中。 相对传统方式有以下优点 1&#xff0c;固化时间是传统方式的1/2 到1/5&#xff0c;flash&#xff0c;程序越大&#xff0c;&#xff0c;效果越明显 2&#xff0c;操作简单&#xff0c;自动脚本…...

类OCSP靶场-Kioptrix系列-Kioptrix Level 4

一、前情提要 二、实战打靶 1. 信息收集 1.1. 主机发现 1.2. 端口扫描 1.3.目录遍历 1.4. 敏感信息 2.漏洞发现 2.1.登录框万能密码 2.2.系统用户密码-ssh链接 2.3.mysql-udf提权 一、前情提要 kali黑客-利用searchsploit搜索exp一键化攻击-CSDN博客 一篇文章带你理…...

C++ ——— 类的 6 个默认成员函数之 取地址函数 以及 const取地址操作符重载函数

目录 前言 取地址函数 const 取地址操作符重载函数 前言 在前几章学习了类的 6 个默认成员函数中的 4 个函数&#xff0c;也是最重要的 4 个 C ——— 类的 6 个默认成员函数之 构造函数-CSDN博客 C ——— 类的 6 个默认成员函数之 析构函数_结构体构析函数-CSDN博客 C…...

【C语言】头文件”“和<>的详解

前言 作者在刚开始学C语言的时候&#xff0c;都是用的< >去引用头文件&#xff0c;但在学习STM32的时候发现&#xff0c;程序中大量使用" "去引用双引号。 那么二者有什么区别呢? 无论使用哪种方式&#xff0c;头文件的目的都是为了引用你需要的文件供你编程使…...

sql server 字符集和排序

英文&#xff1a; Latin1_General_CI_AS 中文&#xff1a;Chinese_PRC_CI_AS 影响字符存储&#xff0c;解释用户存在单字节字符类型&#xff08;char&#xff0c;varchar等&#xff09;里面的数据 字符排序规则&#xff08;是否区分大小写等&#xff09; 中国的用户一定要注意…...

【linux】shell(39)-定时任务

在 Linux 和 Unix 系统中&#xff0c;定时任务是通过 cron 服务 和 crontab 工具 实现的&#xff0c;它允许用户在指定的时间自动执行命令或脚本。本教程将深入介绍 crontab 的工作原理、配置、常见用法和注意事项&#xff0c;帮助你高效地管理自动化任务。 1. cron 和 crontab…...

C# 基本信息介绍

总目录 前言 对 C# 做一个基本信息介绍&#xff0c;让我们对 C# 有个基本的认识。 在进行本文的阅读之前&#xff0c;可以瞧瞧 编程基础知识简述 简单的入个门儿。 一、C# 1. C# 概述 C#是由微软公司发布的一种由C和C衍生出来的面向对象的编程语言。 2. C# 详细介绍 C#&am…...

告别机器人味:如何让ChatGPT写出有灵魂的内容

目录 ChatGPT的一些AI味道小问题 1.提供编辑指南 2.提供样本 3.思维链大纲 4.融入自己的想法 5.去除重复增加多样性 6.删除废话 ChatGPT的一些AI味道小问题 大多数宝子们再使用ChatGPT进行写作时&#xff0c;发现我们的老朋友ChatGPT在各类写作上还有点“机器人味”太重…...