深度学习碎碎念
中杯冰美式
Talk is cheap, show me your code.
展开
-
【本地访问远程服务器上的jupyter】本地访问远程linux服务器的jupyter notebook
本地访问远程linux服务器的jupyter notebook原创 2022-09-21 09:46:33 · 812 阅读 · 0 评论 -
【keras报错记录】Failed to import pydot. You must `pip install pydot` and install graphviz-已解决
keras pydot以及plot_model报错,已解决原创 2022-09-21 09:10:37 · 474 阅读 · 0 评论 -
【Keras load_weights报错】AttributeError: ‘str‘ object has no attribute ‘decode‘
keras load_weights报错原创 2022-09-20 22:03:11 · 919 阅读 · 1 评论 -
【pytorch】一维卷积计算的理解-nn.Conv1d
pytorch conv1d的理解原创 2022-06-15 16:40:24 · 1287 阅读 · 1 评论 -
【pytorch】Batch-norm layer loss计算
loss计算原创 2022-06-15 15:22:24 · 157 阅读 · 0 评论 -
【pytorch】permute-contiguous-view函数
pytorch数据处理一些函数总结原创 2022-06-15 14:53:58 · 746 阅读 · 0 评论 -
【踩坑记录】linux系统重启命令
linux系统下nvidia-smi无效原创 2022-06-10 09:53:16 · 203 阅读 · 0 评论 -
训练集和测试集的标准化处理
数据预处理踩坑原创 2022-06-04 17:29:20 · 891 阅读 · 1 评论 -
keras搭建模型,获取中间层某一指定层的输出
Keras获取中间某一层的输出搭建模型骨架,即指定输入输出;load模型的训练参数;构建中间模型,指定输出层;whole_model = Model(inputs = model_input,outputs = model_output)whole_model.load_weights(model_saved_path) #模型保存格式为.h5格式,或其他,要与load方式一一对应middle_model = Model(inputs = model_input,outputs = whole_原创 2022-04-30 15:54:08 · 848 阅读 · 0 评论 -
Pytorch以及tensorflow中KLdivergence的计算
1. KL divergence是什么KL 散度是一个距离衡量指标,衡量的是两个概率分布之间的差异。ypredy_{pred}ypred指的是模型的输出的预测概率,形如[0.35,0.25,0.4]; ytruey_{true}ytrue是一个one-hot形式的真实概率,形如[0,1,0]。神经网络的训练目标是使得输出的预测概率尽可能接近真实的概率分布。KL divergence loss的计算公式为:KL(ypred,ytrue)=ytruelog(ytrueypred)KL(y_{pred原创 2022-04-17 11:43:34 · 1263 阅读 · 0 评论 -
linux-tar-打包压缩操作命令记录
文件打包压缩linux操作命令记录1.数据的打包压缩问题 将多个file打包并压缩为.tar.gz格式比如,将文件夹file1,file2,file3和file4打包并压缩为.tar.gz格式的文件,打包并压缩后的文件为 mytarfile.tar.gz输入命令为:tar -zcvf mytarfile.tar.gz file1 file2 file3 file4可以看到在当前目录下,出现了打包并压缩后的文件2.打包压缩后的文件进行解包并解压 将.tar.gz格式的文件进行还原命令:ta原创 2020-10-30 09:59:05 · 539 阅读 · 0 评论 -
tf-keras踩坑
使用jupyter连接服务器,通过tensorflow调用keras,结果直接显存拉满。网上找了一堆解决方法:指定gpu的,balabla…但是,仍旧没有解决,问就是有点emo,先占坑,后面解决了再来补完.原创 2022-04-11 15:55:09 · 987 阅读 · 0 评论 -
anaconda安装tensorboard过慢
不要从官网下载tensorboard!!conda activate your environment name通过国内的豆瓣源下载:pip install -i https://pypi.douban.com/simple tensorboard==你想要安装的版本。原创 2022-04-04 21:39:46 · 1181 阅读 · 1 评论 -
本地计算机查看远程服务器的tensorboard使用情况
我是通过xshell连接远程服务器的,通过xshell里的隧道功能将服务器端的tensorboard的监视端口映射到了本地计算机的端口设置如下:点击你要连接的串口的属性,找到SSH,点击隧道,设置源主机以及目标主机都是localhost,端口都设置成6006;点击确定。回到ssh命令终端启动tensorboard命令:tensorboard --logdir your_model_file_name回到本地计算机,浏览器输入127.0.0.1:6006就可在本地查看tensorboard了原创 2022-04-03 19:19:09 · 1478 阅读 · 0 评论 -
【04】Lambda匿名函数的用法
Lambda匿名函数,这个操作要重要啦!Transforms.Lambdatorch.stack 对张量进行拼接,不同的是需要先添加一个维度,然后再进行拼接,比如将2个3维的张量拼接成一个4维的张量;后面的语句是进行参数的解析。上述代码段解读:从crops中一次取出一个元素,先把它转换成一个张量,最后转换好的饿张量是一个list列表的形式,然后这些张量被拼接成一个大的张量。...原创 2022-04-02 17:09:42 · 140 阅读 · 0 评论 -
【03】pytorch 自定义transform操作-踩坑记录
1 椒盐噪声是什么?就是图片上出现的黑白点,类似于老式电视机出现雪花屏幕的感觉。在这里插入图片描述transforms是pytorch定义的一个类,对图像进行各种变换,进行图像变换的目的是数据增强,使得模型的鲁棒性更加的强,尽管pytorch已经提供了很多的类别供我们选择,但在实际工程中这些往往还不够。因此需要因地制宜,制作属于自己项目的数据集变换策略。比如,添加椒盐噪声。2 实际中,怎么进行椒盐噪声的添加呢?在一张图片上随机的选择像素点,令其像素值为255(黑色)或者0(白色)。如下图是一个3原创 2022-04-02 16:50:49 · 3632 阅读 · 0 评论 -
【02】Pytorch autograd 线性回归踩坑记录
作业题是调整线性回归模型停止条件以及y = 2x + (5 + torch.randn(20, 1))中的斜率,训练一个线性回归模型。我先记录了自己的踩坑记录,最后附上了完整的代码,个人觉得踩坑的过程收获更大,共勉吧。step5 反向更新梯度,训练模型w = w - learning_rate * w.gradb = b - learning_rate * b.grad这里报错:原因是我又重新创建了一个变量。## step 2 构建模型w = Variable(torch.Ten原创 2022-04-01 14:04:31 · 1287 阅读 · 0 评论 -
【01】pytorch基础知识-基本运算
作业题1. 安装anaconda,pycharm, CUDA+CuDNN(可选),虚拟环境,pytorch,并实现hello pytorch查看pytorch的版本2. 张量与矩阵、向量、标量的关系是怎么样的?标量是0维的数据,只有一个值,向量是1维的数据,矩阵是2维的数据,张量是高维的数据;3. Variable“赋予”张量什么功能?赋予变量求梯度的功能,可以在torch的计算图中运算4. 采用torch.from_numpy创建张量,并打印查看ndarray和张量数据的地址;5. 实现原创 2022-04-01 10:46:14 · 1512 阅读 · 0 评论 -
总结3个在机器学习种用到的比较多的矩阵求导公式
总结矩阵求导以及矩阵求导在机器学子中的应用在深度学习神经网络的反向传播时,需要根据最后输出的loss反向更新网络的参数,神经网络的训练过程实际上就是参数的更新过程,参数是根据梯度下降法更新的,而梯度的计算需要用到偏导数。因此本文总结了3种在机器学习种用到最多的矩阵求导公式。考虑三种常见的情况:case1 vector to vectory=f(x)\mathbf{y}=f(\mathbf{x})y=f(x),其中,y是m维列向量,x是n维列向量。∂y∂x=[∂y1∂x1∂y1∂x2⋯∂y1∂xn∂原创 2022-03-31 16:38:41 · 494 阅读 · 0 评论 -
知识蒸馏:从入门到不放弃
相信大家随对“蒸馏”依次并不陌生,比如化学课本中的“蒸馏”实验。根据液体的沸点不同,通过加热,使得混合的液体中的某种成分沸腾变成蒸汽,再通过冷凝,将该成分变成液体,即得到所需要的成分。 在深度学习的场景中,知识蒸馏是一种模型压缩的方法。它要做的事情与化学实验中相似,都是通过“某种手段”获得“想要的物质”。在这个场景下,混合液体就是训练好的“大模型”,即教师模型;“加热”这个操作,实际上就是对sof原创 2021-11-11 15:06:42 · 417 阅读 · 0 评论 -
GAN网络之generator的训练图解
gan训练tricksgenerator的最后一层一般使用tanh激活函数,这样可以使训练更加稳定;-- 摘自博客但是我在实际用的时候,使用sigmoid和tanh的效果是差不多的;原创 2021-11-02 13:40:20 · 642 阅读 · 0 评论 -
交叉熵损失
什么是交叉熵损失提起损失,我们最熟悉的可能就是MSE,最小均方误差损失了。MSE通俗理解,就是预测值与真实值之间取个差,再求平方。交叉熵损失也是一种衡量预测值与真实值之间的差异的方式。两者的定义不同,适用的范围也不同。通常来说,交叉熵损失用于分类问题的损失计算,其表达式为:Loss=1N∑i=1Nyijlog(pij),j=1,2,...,C.Loss = \frac{1}{N}\sum_{i=1}^Ny_{ij}log(p_{ij}),j=1,2,...,C.Loss=N1∑i=1Nyijlog原创 2021-10-08 15:23:10 · 4507 阅读 · 2 评论 -
学习笔记:CNN中模型复杂度
CNN有卷积层和全连接层构成。对于一个卷积层,设输入通道数未CinC_{in}Cin,输出通道数未CoutC_{out}Cout,卷积核kernel size为Kw×KhK_w\times K_hKw×Kh,输出的特征图尺寸是H×WH\times WH×W 。全连接层的输入通道数为NinN_{in}Nin,输出通道数为NoutN_{out}Nout.时间复杂度用每秒钟浮点数运算量衡量。FLOPs指的是floating-point operations per second,每秒钟浮点数运算原创 2020-11-25 10:41:46 · 326 阅读 · 2 评论 -
深度学习之什么是梯度
导数:理解为某处切线的斜率;偏微分:向量,方向为各个变量的方向,对每一个变量都有一个偏微分;梯度:向量,每个元素是在每个自变量上的偏微分;方向代表函数增长方向和增长趋势,模代表延这个方向增长的速率。鞍点:在一个方向上取得极大值,一个方向取得极小值。动量:momentum,理解为惯性,这样可以冲出局部极小值点,找到全局极小值点。其他记录:神经网络层数越深,loss函数越平滑,优化起来操作越容易进行。...原创 2020-11-25 10:48:25 · 1998 阅读 · 0 评论