自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pytorch1.4+torchvision0.5+cudatoolkit10.0_linux安装

安装的时候一定要确保所有的安装包都安装在了一个环境下。mkl,cudatoolkit 一定要确保安装成功,否则 import torch 命令会出现error。由于网速不稳定,我从清华源下载了本地安装包进行安装。由于pytorch1.4以上版本有prune工具包,嗯,真香。...

2020-11-04 13:42:41 2488

原创 力扣394-字符串破译

【代码】力扣394-字符串破译。

2023-05-07 10:25:02 188 1

原创 锁相环技术,单边带信号,信号的调制

调制是一种将模拟信号转换成数字信号的方法,它可以提高信号的传输速率和效率。用在接收机中,因为在相干解调的时候,需要接收机产生一个和发射机同频同相的载波频率,这时候就要对发射机处的载波频率进行精确的追踪,锁相环技术就是这样精准跟踪载波频率的一种技术。这通常是在接收端进行的,以便将接收到的数字信号转换回模拟信号。此外,调制技术还可以提供更好的抗噪声性能和更高的频带利用率,从而实现更好的通信质量。总之,单边带信号是一种相对简单但高效的数字信号处理方法,它可以提高信号的传输速率和效率,并且在接收端更容易进行解调。

2023-05-05 22:15:53 745

原创 浅谈几个通信概念-如何理解卷积,负频率,傅里叶变换,奈奎斯特采样定理?

回忆下,基带信号调制之后,频谱发生了搬移,正负频率在载频处都出现了,但是时候下边带信号(也就是载频的左边的信号)和右边的信号占据的带宽是一样的,并且二者携带了相同的信息。最容易理解的就是连续信号的连续傅里叶变换,这个是初次学习傅里叶分析的时候的公式表示的内容,即信号是一个时间t的函数,而傅里叶变换的正交频率空间也是关于t的函数,即e^{-jwt}是什么以及为什么要用?有的,因为信号在调制的时候,实际上是对信号频谱的一个搬移的过程,比如说载波频率为Wc,基带信号经过傅里叶变换之后。当然是只保留一半的频谱了。

2023-05-05 22:11:16 1158

原创 0425-ofdm-LS/MMSE信道估计以及MIMO-ZF/MMSE信号检测

ofdm信道估计:根据发送的训练序列,信道正交性假设以及接收到的序列,估计信道,目的是得到H,这里的估计出来并插值之后的H进一步用于后边的信号检测,比如MIMO的信号检测,LS和MMSE是最小化的距离或者标准是什么才这样命名的。自己在学习的时候,只对ls,以及mmse这两个术语有印象,但是信道估计以及信号检测中都有这两种方法,他们的作用我并不是很清楚,因此,这里自己根据《mimo-ofdm》的书籍总结了一下。那么mimo的信号检测的表达式中,只有估计出来的信道矩阵H以及信道上估计出来的噪声方差。

2023-04-25 09:58:39 659

原创 OFDM-LS信道估计 MMSE信道估计公式推导

假设ofdmN个子载波之间是完全正交的,即不考虑ICI影响,通过发送训练序列来实现信道估计。其中,在推导6.8的时候,需要将6.6先拆解一下。所以公式6.8中的第2行可以进一步等价表示为。

2023-04-24 22:26:59 626 1

原创 MIMO基础知识总结

MIMO基础知识整理

2023-04-21 17:46:54 78

原创 斐波那契序列-记忆搜索-python

斐波那契序列-记忆搜索实现-python,对暴力递归求解的一种优化

2023-03-12 09:58:14 123

原创 Leetcode2 两数之和

leetcode刷题-链表-两数之和链表解法-python

2023-03-11 08:17:48 59

原创 【本地访问远程服务器上的jupyter】本地访问远程linux服务器的jupyter notebook

本地访问远程linux服务器的jupyter notebook

2022-09-21 09:46:33 806

原创 【keras报错记录】Failed to import pydot. You must `pip install pydot` and install graphviz-已解决

keras pydot以及plot_model报错,已解决

2022-09-21 09:10:37 472

原创 【Keras load_weights报错】AttributeError: ‘str‘ object has no attribute ‘decode‘

keras load_weights报错

2022-09-20 22:03:11 913 1

原创 numpy-keras-matlab生成0均值的高斯信号

高斯信号生成

2022-09-13 15:54:05 580

原创 【阅读笔记】End-to-End Learning for RIS-Aided Communication Systems

智能通信 物理层结合深度学习

2022-09-08 14:54:34 362

原创 linux-命令行重启删除用户等操作

linux命令

2022-08-16 21:17:50 376

原创 【pytorch】一维卷积计算的理解-nn.Conv1d

pytorch conv1d的理解

2022-06-15 16:40:24 1279 1

原创 【pytorch】Batch-norm layer loss计算

loss计算

2022-06-15 15:22:24 155

原创 【pytorch】permute-contiguous-view函数

pytorch数据处理一些函数总结

2022-06-15 14:53:58 744

原创 【踩坑记录】linux系统重启命令

linux系统下nvidia-smi无效

2022-06-10 09:53:16 200

原创 训练集和测试集的标准化处理

数据预处理踩坑

2022-06-04 17:29:20 874

原创 OFDM插入导频过程详解

ofdm符号的长度=有效数据+cp的长度,cp就是将有效数据的后半部分1/4截取并添加到有效数据的开始部分;比如一个ofdm符号的长度为4us,那么有效数据的长度为3.2us,cp的长度为0.8us;子载波的间隔=1/(有效数据的长度,就是有效数据的传输时间)=1/3.2us = 312.5KHz;子载波的个数实际上就是公路上的车道数目,数据就是一个个货车。IEEE规定使用52个子载波-也就是相当于交通管理局设计的公路的车道数;实际中53个子载波,中间有一个直流分量;如果在数字域中,需要对这些子载波记录

2022-05-30 15:54:46 5241 3

原创 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

原创 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 1252

原创 tf-keras踩坑

使用jupyter连接服务器,通过tensorflow调用keras,结果直接显存拉满。网上找了一堆解决方法:指定gpu的,balabla…但是,仍旧没有解决,问就是有点emo,先占坑,后面解决了再来补完.

2022-04-11 15:55:09 985

原创 anaconda安装tensorboard过慢

不要从官网下载tensorboard!!conda activate your environment name通过国内的豆瓣源下载:pip install -i https://pypi.douban.com/simple tensorboard==你想要安装的版本。

2022-04-04 21:39:46 1170 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 1475

原创 【04】Lambda匿名函数的用法

Lambda匿名函数,这个操作要重要啦!Transforms.Lambdatorch.stack 对张量进行拼接,不同的是需要先添加一个维度,然后再进行拼接,比如将2个3维的张量拼接成一个4维的张量;后面的语句是进行参数的解析。上述代码段解读:从crops中一次取出一个元素,先把它转换成一个张量,最后转换好的饿张量是一个list列表的形式,然后这些张量被拼接成一个大的张量。...

2022-04-02 17:09:42 140

原创 【03】pytorch 自定义transform操作-踩坑记录

1 椒盐噪声是什么?就是图片上出现的黑白点,类似于老式电视机出现雪花屏幕的感觉。在这里插入图片描述transforms是pytorch定义的一个类,对图像进行各种变换,进行图像变换的目的是数据增强,使得模型的鲁棒性更加的强,尽管pytorch已经提供了很多的类别供我们选择,但在实际工程中这些往往还不够。因此需要因地制宜,制作属于自己项目的数据集变换策略。比如,添加椒盐噪声。2 实际中,怎么进行椒盐噪声的添加呢?在一张图片上随机的选择像素点,令其像素值为255(黑色)或者0(白色)。如下图是一个3

2022-04-02 16:50:49 3631

原创 【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 1286

原创 【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 1511

原创 总结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

原创 统计学习方法--隐马尔可夫模型

1.隐马尔可夫模型简介隐马尔可夫模型由一个状态序列,一个观测序列组成,其中状态序列是不可观测的,因此叫做隐马尔可夫模型。几个重要的参数:Q,V,A,B,O,π\piπ,Q是所有可能出现的状态的几个,V是所有可能出现的观测结果的集合,A是状态转移概率矩阵,是一个NN维的方针,B是一个观测概率矩阵,是一个NM维度的矩阵,O是观测序列,长度为T,π\piπ是初始的状态概率向量,是一个N*1的向量。2.python代码实现在这部分的代码中包含了HMM的3个算法:前向,后向以及viterbi算法。其中vi

2022-01-25 18:52:50 1781

原创 机器学习-小知识点手册

矩阵相乘np.dot(matrix_A,matrix_B)matrix_A@matrix_B 就是普通的矩阵乘法,A列数=B行数matrix_A * matrix_B 表示的是两个矩阵的对应的元素相乘

2021-12-18 19:10:30 1123

原创 统计学习 EM算法 Python实现

EM算法是什么EM算法可以用于有监督学习,也可以用于无监督学习。这个算法是根据观测结果求得对含有隐变量的模型的参数的估计。包含E步骤和M步,E步是求期望,M步是求极大似然估计,极大参数估计是对模型参数估计的一种方法。一个典型的应用EM算法进行参数估计的例子就是敏感问题的调查,我们想要得到人群中吸烟人数的比例,可以设置这样一个问卷问题1:你的手机尾号是偶数吗?若是,回答问题2,不是,则回答问题3问题2:你吸烟吗问题3:你喜欢养猫吗通过调查,我们获得结果是:是否问题2N1

2021-12-18 11:47:26 1564

原创 统计学习boosting算法

Boosting的原理的简单理解通过构建几个弱分类器,将几个弱分类器进行集成,从而得到一个分类性能你较好的强分类器。分类器的优化也就是训练过程相当于是一个串行的过程,后一个分类器的优化是建立在前一个分类器的基础上的。Boosting算法一个常见的实例就是提升树,这个树是一个二叉树,后一个树的构建在前几个树的基础上。树的参数的确定过程实际上就相当于神经网络的训练过程。树的参数包括:所选择的用来分类的特征是什么,按照这个特征进行分类的话,分类的阈值是什么。策略就是:大于这个分类阈值的话,把样本分为-1类还是

2021-12-17 20:34:29 973

原创 统计学习:logistic回归 Python实现

1. 最大熵模型作用是从许多个模型中,选择一个最好的模型,选择的标准就是熵,即具有最大熵的P(Y∣X)P(Y|X)P(Y∣X)就是最好的模型。个人理解最大熵在这里起的作用类似于valid data 的作用。为什么最大熵的模型就是最好的呢?因为在自然界中,所有的分布都是趋于无序的、混乱的。最大熵准则则保留了每一种可能发生的情况,可以代表更多的可能发生的信息。比如你在猜抛掷一枚硬币,正面朝上的概率的时候,最好猜1/2而不是3/10.2.Logistic回归适用于多分类,二分类任务。分布函数是一个S形函数,

2021-12-12 16:24:29 3182 2

原创 统计学习方法-决策树原理以及代码实现

决策树代码实现from sklearn.tree import DecisionTreeClassifier# 由于存在离散值,用sklearn的preposseing进行数据的预处理from sklearn import preprocessing# 处理数据data = [['青年','否','否','一般',0],\ ['青年','否','否','好',0], ['青年','是','否','好',1], ['青年','是','是','一般',1], ['青

2021-12-05 11:58:20 116

原创 朴素贝叶斯的理解

朴素贝叶斯是一种机器学习算法,它假设所有的特征是独立的。给定一个样本,求其所拥有的特征,对于各类别上概率的最大值。在这个求解过程中,运用到了条件概率的知识。在推导过程中,可以证明分母是常数,就是最大化条件概率的分子,也等价于最大化后验概率。所谓后验概率,就是知果寻因。朴素贝叶斯的训练过程不是显式的,是无法明显地观察到的。...

2021-12-04 20:29:02 814

原创 统计学习笔记 - KNN原理、python实现

1. KNN实现我的理解就是,找到最接近的K个邻居,根据邻居的类别,确定自己的类别。怎么确定呢?K个邻居进行投票。包括:输入一个新的实例在已知的训练数据集中计算该新的实例与训练数据集中数据点之间的距离按照距离进行排序选择距离最短的也就是最相似的前K个邻居这K个邻居根据自己的类别进行投票,票数最多的类别就是该新的实例的类别。实验踩坑记录:lp_distance = [[np.linalg.norm(x_new-x_train[i],ord=2),y_train[i]] for i in

2021-11-28 12:17:36 269

原创 统计学习笔记-导论 感知机算法原始、对偶形式 原理、python实现

1.过拟合产生的原因以及造成的影响统计学习有3个要素,模型、策略以及算法。给定一组数据集,需要通过模型对数据的分布进行拟合。先把原始的数据集划分为训练集、验证集和测试集,训练集用来对模型的参数进行更新,测试集用来衡量训练好的模型的性能。如果模型在训练集上的准确率很高、在测试集上的准确率很低,那么说明发生了过拟合,即模型对训练集拟合的过好了。造成的影响就是模型的泛化能力低,模型对于训练集以外的数据很难拟合。就相当于为了准备考试,使劲刷题,题库里(训练集)的题目都做对了,但是真正考试的时候(测试集)却得分很低

2021-11-23 21:43:01 590

空空如也

空空如也

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

TA关注的人

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