- 博客(239)
- 资源 (3)
- 收藏
- 关注
原创 GCN图卷积神经网络
GCN算法的步骤简单可总结为:1、初始化:为每个节点分配初始特征表示。2、邻居聚合:对于每个节点,将其自身特征与邻居节点的特征进行加权平均或拼接,得到聚合后的特征。3、特征转换:对聚合后的特征进行线性变换,以充分利用特征之间的关系。4、非线性激活:应用非线性激活函数,如ReLU,将线性变换后的特征映射到非线性空间。5、循环迭代:重复进行邻居聚合、特征转换和非线性激活的步骤,直到达到所需的网络层数或收敛条件。对于每个节点,我们在聚类时从它的所有邻居节点处获取其特征信息,当然也包括它自身的特征。
2024-11-21 15:40:05
1452
1
原创 Pytorch如何将嵌套的dict类型数据加载到GPU
方法将嵌套的字典中的所有支持的Tensor对象转移到GPU。以下是一个简单的例子。会递归地检查字典中的每个元素,如果是Tensor类型并且不在GPU上,就会使用。变量指向您的GPU设备。如果没有GPU可用,它会默认使用CPU。在PyTorch中,您可以使用。
2024-11-12 15:41:09
572
原创 Windows安装WSL2
安装WSL2首先要保证操作系统可以开启hyper-v功能,默认支持开启的版本为:Windows11企业版、专业版或教育版,而家庭版是不支持开启的,但是我们如果是家庭版,可以自行安装相关组件来开启hyper-v功能。2. 将文件重新命名为:hyper-v.bat,名称可以随意取,但是扩展名要为【.bat】这个表示可执行文件。3. 右键【hyper-v.bat】文件,选择【以管理员身份运行】4. 等待指令执行完毕后,会提示输入【y】以重启计算机。如已经准备好重启,此时输入【y】即可。
2024-10-22 14:26:02
2567
1
原创 Ubuntu安装nvidia显卡驱动
no-x-check:安装驱动时关闭X服务 -no-nouveau-check:安装驱动时禁用nouveau -no-opengl-files:只安装驱动文件,不安装OpenGL文件。在“/home/heqingchun/soft/nvidia”路径中下载得到“cuda_11.6.2_510.47.03_linux.run”文件 以下是安装时使用的指令。网址:https://developer.nvidia.com/cuda-toolkit-archive 依次点击。
2024-10-10 10:27:34
7023
原创 VMWare安装ubuntu22虚拟机
输入命令:sudo apt-get install openssh-server。输入命令:sudo apt-get install net-tools。输入命令:sudo vim /etc/ssh/sshd_config。输入命令:sudo /etc/init.d/ssh restart。输入命令:sudo passwd root。输入命令:sudo apt upgrade。输入命令:ufw allow 22/tcp。输入命令:sudo apt update。这样就可以正常使用 ifconfig 了。
2024-10-09 20:33:29
518
原创 猴子选大王(约瑟夫问题)
有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。Josephus要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。
2024-03-27 15:42:18
415
原创 堆排序算法及实现
将无序序列建成一个堆,得到关键字最小(或最大)的记录;输出堆顶的最小(或最大)值后,使剩余的n-1个元素重又建成一个堆,则可得到n个元素的次小值;重复执行,得到一个有序序列,这个过程叫堆排序。
2023-12-11 17:44:43
500
原创 hanoi塔问题
n阶Hanoi塔问题,假设有3个分别命名为A、B、C塔座,在塔座A上插有n个直径大小各不相同、依小到大的圆盘。(3)任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。(3)用 A 做过渡,将 B 的 (n-1) 个移到 C。(1)用 C 柱做过渡,将 A 的(n-1)个移到 B。(2)圆盘可以插在A、B、C的任意一个塔座上;n = 1,则直接从 A 移到 C。(2)将 A 最后一个直接移到 C。(1)每次只能移动一个圆盘;
2023-09-25 13:30:58
211
原创 链表基本操作
单链表结构头指针是指向链表中第一个结点的指针首元结点是指链表中存储第一个数据元素a1的结点头结点是在链表的首元结点之前附设的一个结点;数据域内只放空表标志和表长等信息单链表存储结构定义:typedefstructLnodeElemTypedata;//数据域structLNode*next;//指针域LNode,*LinkList;// *LinkList为Lnode类型的指针。
2023-09-18 14:20:52
279
原创 Swin-Transformer网与源码
论文名称:Swin Transformer: Hierarchical Vision Transformer using Shifted Windows原论文地址: https://arxiv.org/abs/2103.14030官方开源代码地址:https://github.com/microsoft/Swin-TransformerPytorch实现代码: pytorch_classification/swin_transformer。
2023-06-07 15:18:14
1460
1
原创 Batch Normalization批量归一化
Batch作为最近一年来DL的重要成果,已经广泛被证明其有效性和重要性。目前几乎已经成为DL的标配了,任何有志于学习DL的同学们朋友们雷迪斯俺的詹特曼们都应该好好学一学BN。BN倒过来看就是NB,因为这个技术确实很NB,虽然有些细节处理还解释不清其理论原因,但是实践证明好用才是真的好,别忘了DL从Hinton对深层网络做Pre-Train开始就是一个经验领先于理论分析的偏经验的一门学问。如何理解BatchNorm?
2023-05-25 09:29:12
794
原创 梯度消失和爆炸问题
此方法来自Hinton在2006年发表的一篇论文,Hinton为了解决梯度的问题,提出采取无监督逐层训练方法,其基本思想是每次训练一层隐节点,训练时将上一层隐节点的输出作为输入,而本层隐节点的输出作为下一层隐节点的输入,此过程就是逐层“预训练”(pre-training);从深层网络角度来讲,不同的层学习的速度差异很大,表现为网络中靠近输出的层学习的情况很好,靠近输入的层学习的很慢,有时甚至训练了很久,前几层的权值和刚开始随机初始化的值差不多。,所以当层数越深的时候,梯度将以指数形式传播。
2023-05-19 11:46:25
520
原创 基于C3D卷积神经网路的动作识别
有时候,在处理大数据集时,一次将整个数据加载到内存中变得非常难。因此,唯一的方法是将数据分批加载到内存中进行处理,这需要编写额外的代码来执行此操作。对此,PyTorch 已经提供了 Dataloader 功能。下面显示了 PyTorch 库中DataLoader函数的语法及其参数信息。参见pytorch官方文档,dataset (dataset)—从其中加载数据的数据集。Batch_size (int,可选)-每批加载多少个样本(默认值:1)。
2023-05-18 16:44:42
2323
5
原创 Linux安装python
root@test ~]# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联。输入命令 wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz。(6)检查python3.7的编译器:/usr/local/python3/bin/python3.7。(1)创建目录 mkdir -p /usr/local/python3。
2023-05-08 20:59:16
944
原创 Linux忘记/更改密码
注意:执行passwd命令修改密码,如果系统的selinux开启着,则需要执行命令:touch /.autorelabel 以。出现connection closed by foreign host 情况,一般是密码输入错误,以下给出忘记密码办法。2、按↑↓键找到ro,将红框内的内容改成 :rw init=/sysroot/bin/sh。重启Linux(或虚拟机),在倒计时3秒前,按下e键,进入grub编辑页面。# chroot /sysroot //进入系统的根目录。
2023-03-27 14:55:36
2942
转载 Transformer源码分析
本文是对哈佛NLP团队实现的Pytorch版Transformer的源码解析。其实本来想看Tensor2Tensor版本的Transformer的,但是代码逻辑实在是有些混乱。哈佛NLP团队实现的Pytorch版代码链接如下GitHub - harvardnlp/annotated-transformer: http://nlp.seas.harvard.edu/2018/04/03/attention.htmlgithub.com/harvardnlp/annotated-transformer
2022-05-07 13:47:43
837
1
原创 PyTorch几个需要掌握的小技巧
1、指定GPU编号设置当前使用的GPU设备仅为0号设备,设备名称为/gpu:0:os.environ["CUDA_VISIBLE_DEVICES"] = "0"设置当前使用的GPU设备为0,1号两个设备,名称依次为/gpu:0、/gpu:1:os.environ["CUDA_VISIBLE_DEVICES"] = "0,1",根据顺序表示优先使用0号设备,然后使用1号设备。指定GPU的命令需要放在和神经网络相关的一系列操作的前面。2、梯度裁剪(Gradient Clipping)impor...
2022-04-11 16:40:09
3791
1
原创 pytorch中的交叉熵nn.CrossEntropyLoss()
引言:在使用pytorch中的损失函数时,经常会使用到:nn.CrossEntropyLoss()该损失函数整合了nn.LogSoftmax()和nn.NLLLoss(),常用于训练分类任务。特别是在神经网络做分类问题时,经常使用交叉熵作为损失函数,此外,由于交叉熵涉及到计算每个类别的概率,所以交叉熵几乎每次都和sigmoid(或softmax)函数一起出现。我们用神经网络最后一层输出的情况,来看一眼整个模型预测、获得损失和学习的流程:神经网络最后一层得到每个类别的得分scores(
2021-12-17 15:57:37
2354
原创 vue表格中prop获取的数据为数组情况下的遍历
当后端传Long类型给前端, Long类型数据大于17位时。前端拿到的数据: 第16位会四舍五入, 17位后的数据自动用0代替),在Json中就会出现精度丢失的情况
2021-10-19 17:49:13
1629
原创 分布式ID生成算法-雪花算法
算法原理SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图:1. 1bit,不用,因为二进制中最高位是符号位,1表示负数,0表示正数。生成的id一般都是用整数,所以最高位固定为0。2. 41bit-时间戳,用来记录时间戳,毫秒级。- 41位可以表示2^41 - 1个数字,- 如果只用来表示正整数(计算机中正数包含0),可以表示的数值范围是:0 至 2^41 - 1,减1是因为可表示的数值范围是从0开始算的,而不是1。- 也就是说41位可以表示..
2021-10-16 15:41:43
700
原创 css3D制作旋转魔方
<!DOCTYPE html><html><head> <meta charset="utf-8" /> <style> /*最外层容器样式*/ .wrap { width: 200px; height: 200px; margin: 200px; position: relative; .
2021-09-23 14:58:12
243
原创 正则符号说明
1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$8 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$9 有两位小数的正实数:^[0-9]+(...
2021-08-30 11:30:04
216
原创 CNN卷积神经网络学习过程(权值更新)
卷积神经网络采用BP算法学习网络参数,BP算法是基于梯度下降原则来更新网络参数。在卷积神经网络中,需要优化的参数有卷积核参数k、下采样层权值β、全连接层网络权值w及各层偏置b。我们以卷积神经网络的期望和输出之间的均方误差为代价函数,目的是最小化该代价函数,使得实际神经网络输出可以对输入做出准确的预测,代价函数如下所示:其中,N为训练样本的数量,是第n个训练样本的真实类别标签,是第n个训练样本经过卷积神经网络学习得到的预测类别标签。卷积层梯度计算一般而言每一个卷积层l的后面都会接一个下采样..
2021-08-03 11:34:01
5736
6
原创 CNN卷积神经网络结构
卷积神经网络通常是由四部分组成:输入层、卷积层、下采样层、全连接层和输出层。典型的卷积神经网络中,开始的几层一般是卷积层和下采样层交替出现,靠近输出层的最后几层通常是全连接层,其结构如图2-4所示。一幅原始二维图像输入卷积神经网络网络进入卷积层后,将会被卷积核函数作用提取到输入图像的局部特征,这些局部特征一旦被提取之后,它们之间的位置关系也会随之确定下来。一个卷积核对应一种特征,对同一幅图像采用相同卷积核提取不同位置的相同特征构成一幅特征图,这方式称作卷积神经网的权值共享。通过增加卷积核个数,对输入图像同一
2021-08-03 11:22:20
10543
原创 pytorch模型参数赋值——tensor.copy_()方法
module类内部state_dict返回对象只是一个copy,所以修改里面的值并不能影响模型中真正的参数,我们可以借助tensor.copy_()方法来赋值。简单例子:a = torch.tensor([[1,2], [3,4]])b = torch.tensor([[7,8],[9,10]])a.copy_(b)print(a)print(b)...
2021-07-25 17:09:08
5115
原创 DOS常用命令
1 查看端口号占用及关闭进程查看端口号:netstat -ano|findstr "8080"关闭对应进程:taskkill /F /pid 11176
2021-06-29 15:51:33
94
原创 mysql启动错误1607 进程意外终止
mysql启动报错,首先想到的是应该查看mysql的日志文件:mysql安装目录/data/*.err。从错误日志
2021-06-21 10:55:07
1192
原创 springcloud nacos集群搭建
Nacos集群架构图根据架构图所示,搭建nacos集群最少需要启动了三个节点的Nacos集群。此外,我们还需要提供一个统一的入口给Spring Cloud应用访问,也即是需要为上面启动的的3个Nacos集群做一个负载均衡的访问层,这里我们可以通过nginx来实现。8.1 Nacos配置1 编辑nacos集群配置文件cluster.conf,添加集群IP2 启动nacos(集群模式) sh startup.sh 8.2 Nginx配置1 配置ngin...
2021-06-11 11:10:07
644
1
原创 Linux安装mysql(填坑版)
安装之前,先检测一下系统是否已经安装过mysql: rpm -qa | grep mysql 如果已经安装,可以通过以下命令选择卸载: rpm -e mysql // 普通删除模式 rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除 安装Mysql工具:CentOS 7 64位、Mysql5.71 到mysql官网下载mysql编译好的二进制...
2021-06-07 16:46:07
138
原创 其它IP无法连接本机Redis问题解决及Redis安装
1 修改redis.conf文件:daemonize为yes,让redis在后台运行;2 注释掉 bind 127.0.0.1,运行本机之外的地址访问;3 protected设置为no,关闭保护模式;关闭防火墙。
2021-06-04 15:07:03
1172
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人