- 博客(36)
- 收藏
- 关注
原创 DGCNN代码详解(一)
view(B,C,N,K) 将收集到的特征重塑为 (B, C, N, K) 的形状。获取输入张量的维度:B 是批量大小,C 是通道数,N 是点的数量。contiguous() 确保数据在内存中是连续的,以便后续操作。通过邻居聚合特征与中心特征做差表示,从中心到邻居特征的方向。将输入特征扩展到 (B, C, N, K),以便进行广播。计算边缘特征,通过连接中心特征和最近邻特征之间的差异。输出是大小为 (B, 2C, N, K) 的边缘特征。结果是一个大小为 (B, N, N) 的张量。
2024-10-20 17:11:59
493
原创 BraTs2020数据集处理及python读取.nii文件 批量转图片
BraTs2020数据集下载地址https://aistudio.baidu.com/datasetdetail/225057。这是文件目录,代码在proccess_code下面。对图片批量切割然后resize到256*256。
2024-04-21 16:01:40
1351
2
原创 python批量检查图像是否损坏
为了检查PNG文件是否已损坏,我们可以尝试使用PIL(Python Imaging Library)库来打开每个文件。如果文件损坏,打开文件将会引发异常。在运行这个脚本之前,请确保你已经安装了PIL库。如果你还没有安装,你可以使用pip install pillow命令来安装它。这个脚本同样会删除损坏的文件,所以在运行它之前,你应该确认你真的想要删除这些文件。
2024-03-11 22:30:34
989
1
原创 pytorch 标签平滑代码
import torchimport torch.nn as nnimport torch.nn.functional as Fclass CELossWithLabelSmoothing(nn.Module): ''' Cross Entropy Loss with Label Smoothing ''' def __init__(self, label_smoothing=0.1): super().__init__() self.label_s
2023-10-18 20:38:32
810
原创 github开源自己代码
接下来,我们需要先下载Git,的网址:https://git-scm.com/downloads,安装时如果没有特殊需求,一直下一步就可以了,安装完成之后,双击打开Git Bash。注意右上角master,如果是main,就应该改为git push -u origin main,否则报错,2020以后基本上git自动创建的prosperty都是main。这个是将项目上所有的文件添加到仓库中的意思,如果想添加某个特定的文件,只需把.换成这个特定的文件名即可。用上面提示的代码输入自己的邮箱或名字。
2023-03-15 19:31:44
3817
原创 Python torch.nn.Module.register_forward_pre_hook用法及代码示例
Python torch.nn.Module.register_forward_pre_hook用法及代码示例
2022-11-30 21:02:28
828
转载 Pytorch深度学习-权值初始化
前面学习了搭建网络模型的各个层级与结构,想要训练得到1个良好的网络模型,正确的权值初始化方法可以加快模型的收敛,相反,不恰当的权值初始化可能导致梯度爆炸或消失,最终导致模型无法训练。因此,本节主要从3方面来分析了解权值初始化:(1)分析不恰当的权值初始化是如何引发梯度消失与爆炸的?(2)学习常用的Xavier与Kaiming权值初始化方法;(3)学习Pytorch中10种权值初始化方法。梯度爆炸和消失一、理论图1 3层全连接网络与其对应的计算图根据计算图,列写出计算图的前向传播计算公式,关注第2个
2022-03-20 15:41:38
1057
转载 Pytorch深度学习——Tensorboard的使用
本节笔记内容具体是学习tensorboard中的两个方法分别是scalar和histogram,一共分为3个部分:(1)首先学习SummaryWriter类;(2)其次,学习两个基本方法记录标量add_scalar和直方图可视化add_histogram;(3)最后,使用scalar和histogram来监控模型指标(分别有Loss曲线、Acuracy曲线以及参数分布、参数所对应的梯度分布情况)tensorboard运行机制学习之前,回顾tensorboard运行机制:首先在python脚本里①记录要
2022-03-20 14:50:13
2832
2
转载 Pytorch深度学习—学习率调整策略
前面的课程学习了优化器的概念,优化器中有很多超参数如学习率lr,momentum动量、weight_decay系数,这些超参数中最重要的就是学习率。学习率可以直接控制模型参数更新的步伐,此外,在整个模型训练过程中学习率也不是一成不变的,而是可以调整变化的。本节内容就可以分为以下3方面展开,分别是:(1)为什么要调整学习率?(2)Pytorch的六种学习率调整策略;(3)学习率调整总结。为什么要调整学习率?①仅考虑学习率的梯度下降:②加入momentum系数后随机梯度下降更新公式:从梯度下降法公式
2022-03-20 14:22:51
4328
2
转载 Pytorch深度学习—优化器
损失函数Loss是衡量模型输出与真实标签之间的差异的。有了损失函数Loss,通过Loss根据一定的策略 来更新模型中的参数使得损失函数Loss逐步降低;这便是优化器optimizer的任务。本节优化器optimizer主要包括3方面内容,分别是(1)什么是优化器,优化器的定义和作用是?(2)Pytorch中提供的优化器optimizer的基本属性是?(3)optimizer的方法是?图1 机器学习模型训练步骤了解优化器之前,可以通过机器学习模型训练步骤简略了解一下优化器。在损失函数模块,根据模型输出与
2022-03-20 13:39:49
388
转载 动态修改学习率
很多时候我们要对学习率(learning rate)进行衰减,下面的代码示范了如何每30个epoch按10%的速率衰减:def adjust_learning_rate(optimizer, epoch): """Sets the learning rate to the initial LR decayed by 10 every 30 epochs""" lr = args.lr * (0.1 ** (epoch // 30)) for param_group in optim
2022-03-20 11:26:46
342
原创 在CUDA10.1版本下安装tensorflow-gpu=1.13.1版本
安装cuda10.1安装tensorflow-gpu的1版本会出现一些问题,应该在安装之前先输入conda install cudatoolkit=10.0在安装cudatoolkit之后再进行安装tensorflow就成功。测试import tensorflow as tfhello = tf.constant('Hello, TensorFlow!')sess = tf.Session()print(sess.run(hello))print(tf.test.is_gpu_avail
2022-03-08 19:30:26
2535
原创 MAE代码阅读(一)
参数 parser = argparse.ArgumentParser('MAE pre-training', add_help=False) parser.add_argument('--batch_size', default=64, type=int, help='Batch size per GPU (effective batch size is batch_size * accum_iter * # gpus') parser.a
2022-01-28 18:40:16
8493
16
原创 Swin transformer
输入HW3的图像,经过patch partion模块,使用44大小的窗口进行分割,每个特征图的每个通道的特征图都被分为了16个,316=48,输出为H/4W/448,然后经过Linear Embedding,调整特征图的通道数为C,而后经过了Layer Norm。然后经过Swin transformerBlock偶数次W-MSA和SW-MSA成对使用。PatchMerging 对每个通道数上的特征图以间隔为1的22窗口,得到4倍数量的特征图,然后在拼接起来,经过LayeNorm,然后用Linear对通.
2021-11-14 20:00:17
472
原创 adagrad
Adagrad是解决不同参数应该使用不同的更新速率的问题。Adagrad自适应地为各个参数分配不同学习率的算法。其公式如下:gradient比较大的时候,走的地方比较陡峭,希望步长小一点,避免走过,gradient比较小的时候,走的地方比较平缓,希望步长大一点。...
2021-11-13 13:00:02
1428
转载 深度学习中momentum的作用
训练网络时,通常先对网络的初始权值按照某种分布进行初始化,如:高斯分布。初始化权值操作对最终网络的性能影响比较大,合适的网络初始权值能够使得损失函数在训练过程中的收敛速度更快,从而获得更好的优化结果。但是按照某类分布随机初始化网络权值时,存在一些不确定因素,并不能保证每一次初始化操作都能使得网络的初始权值处在一个合适的状态。不恰当的初始权值可能使得网络的损失函数在训练过程中陷入局部最小值,达不到全局最优的状态。因此,如何消除这种不确定性,是训练深度网络是必须解决的一个问题。 momentum
2021-11-13 12:50:34
1172
原创 梯度反转层
源码地址:https://github.com/fungtion/DANN_py3from torch.autograd import Functionclass ReverseLayerF(Function): @staticmethod def forward(ctx, x, alpha): ctx.alpha = alpha return x.view_as(x) @staticmethod def backward(ctx,
2021-11-13 12:48:57
842
原创 PIL、opencv、scipy三者互相转换
PIL与opencv需要通过一定方法转换,然后转换颜色通道顺序。scipy与opencv两者都是numpy矩阵,uint8,范围为0-255,通过颜色通道顺序就可以实现转换path= './datasets/clothes_color_domain_train/color_domain_0000005.jpg'import cv2from PIL import Imageimport numpy as npfrom scipy.misc import imread#PIL转opencv
2021-11-02 20:44:05
2457
原创 dual_contrastive_loss粗略解读
def dual_contrastive_loss(real_logits, fake_logits): device = real_logits.device real_logits, fake_logits = map(lambda t: rearrange(t, '... -> (...)'), (real_logits, fake_logits)) def loss_half(t1, t2): t1 = rearrange(t1, 'i -> i
2021-10-19 16:58:17
346
原创 cuda11.0pytorch拓展c++的bug:/usr/bin/ld: cannot find -lcudart
stylegan2使用了c++拓展,但是加载c++拓展的神经网络老是报错我用pytorch拓展c++实现训练提速,发现老是要么莫名的load失败,发现python不能用3.6,使用了python3.8的环境,发现问题消失了。我的环境是cuda11.0,3070显卡,python3.8,pytorch1.7.1。又出现了 /usr/bin/ld: cannot find -lcudart 的问题由于我的是cuda11.0,我去我的/usr/local/cuda/lib64下只有libcudart.so
2021-09-17 21:21:32
331
原创 Visual Studio2017找不到exe指定文件报错
Visual Studio2019卸载后我又安装了2017,结果发现x86可以编译运行,但是x64不可以编译运行。如下图所示,按照路径去看了下,确实没有exe文件。右击这里点击属性。对比x86和x64的配置情况。复制x86粘贴给x64即可...
2021-07-14 17:00:34
2457
原创 Hbuilder通过XAMPP运行php实现表单交互
打开XAMPP,点击Apache和MySQL的start。在这个设置界面,在上图你会看到Apache的ports有一个是80,在下图中外部web服务器调用url输入http://127.0.0.1:80,这样就设置好Hbuilder了。找到XAMPP安装的位置,用Hbuilder打开安装目录下的htdocs。如图所示,我创建了一个phpinfo的文件夹,如图中所示。在phpinfo中创建了service.php<?phpecho "用户名:".$_POST['name']."<
2021-07-04 18:24:37
825
3
原创 运行pyside2报错This application failed to start because no Qt platform plugin could be initialized.
import osimport PySide2dirname = os.path.dirname(PySide2.__file__)plugin_path = os.path.join(dirname, 'plugins', 'platforms')os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path加入这几行代码就ok啦,可以跳出来自己设计的界面了。...
2021-05-01 17:19:23
157
原创 Jetson nano编译安装pymysql
1、 jetson nano和mysql作为一个ai嵌入式设备,为了起到跟服务器通信的功能,我准备用python+pymysql实现对服务器mariaDB数据库的通信。但是发现jetson nano官方源没有pymysql这个安装包,所以只能手动编译安装了。2、下载pymysql源码git clone https://github.com/PyMySQL/PyMySQL.git将PyMySql文档放到jetson nano里,cd进入PyMySql。python3 setup.py build
2021-04-23 23:08:08
511
原创 Jetson nano配置pytorch环境(tensorflow也可)部署yolov5
1.镜像源我的镜像源放在网盘,不是最新的,可自行下载。复制这段内容后打开百度网盘App,操作更方便哦。 链接:https://pan.baidu.com/s/1nzx_4AQXTk3yTQQ3JTUxhw 提取码:247w刷机教程网上很多这里不做过多赘述。2.开机后的一点准备因为ssh比较方便,我这里在win上用了finalshell的软件通过宿舍的wifi远程ssh连接控制nano。sudo apt-get updatesudo apt-get full-upgrade在过程中输入
2021-03-23 16:51:24
2505
原创 pytorch1.71 cuda11.0安装mmdectection2.10
1. 我的环境cuda11.0,pytorch1.71。2. 安装mmcv在下面这行地址:https://mmcv.readthedocs.io/en/latest/#installation我的pytroch版本虽然是1.71但是1.71和1.70差距不大,后面尝试了可以正常使用mmdetection。pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html注:
2021-03-21 21:38:35
1027
2
原创 TypeError: can‘t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to
TypeError: can’t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to numpyD:\anaconda3\envs\PY3.8\Lib\site-packages\torch\tensor.py在630行return self.numpy()改成return self.cpu().numpy()
2021-03-11 22:28:36
552
1
原创 tensorflow-gpu不能调用gpu调用cpu训练的解决办法
好端端的,突然发现自己用tensorflow-gpu训练的时候cpu占用99%,可让我捏了一把汗。用nvidia-smi -l发现自己gpu根本就没有被调用。我的环境是cuda10.1 cudacnn7.6 tensorlow-gpu 1.15.0 keras2.4.2用命令在anaconda prompt试了一下,import tensorfowtf.test.gpu_device_name()这个问题去C:\Program Files\NVIDIA GPU Computing Toolkit
2020-11-22 11:37:31
3212
4
原创 InternalError: Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10另外一种问题的可能
InternalError: Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10。在jupyter notebook出现这种错误,我通过cmd查看GPU使用情况,却发现没有程序占用GPU内存,也不是虚拟环境和tensorflow设置分配显存的问题。在cmd 窗口输入nvidia-smi我曾...
2020-05-01 11:43:12
1537
3
转载 jupyter notebook如何使用虚拟环境
转载自https://www.cnblogs.com/yzl0/p/11490752.html安装ipykernel,将环境添加到Jyputer中1.打开Anaconda Prompt,输入conda env list 查看现有环境2.输入activate name(name是你想切换的环境)3.conda install ipykernel 安装必要插件4.python -m ipyk...
2020-04-22 13:19:49
5237
2
原创 jupyter notebook修改默认目录 和cmd下ImportError:DLL load failed
一修改默认启动路径1.打开Anaconda Prompt2.输入命令jupyter notebook --generate-config3.打开C:/Users/你的账户/jupyter/jupyter_ notebook config.py4.修改#c.NotebookApp.notebook dir = "为c.NotebookApp.notebook _dir = ‘你想要默认打开的...
2020-04-22 12:31:47
438
原创 typora图片插入问题
typora图片插入问题我在初次使用typora做笔记时候时候出现图片插入不能显示的问题。如下结果用qq自带的截屏功能生成的图片会带有如这样的一些字符:3Q4T]VKF4W%837%8@Y@5J$J我推测这样的命名会导致typora不能把图片复制到设定的asset文档中。这个时候把图片重新用阿拉伯数字命名typora就能显示图片了...
2020-02-07 12:05:26
8624
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人