- 博客(61)
- 收藏
- 关注
原创 RNN流程理解
import torch.nn as nnimport torchrnn = nn.RNN(10, 20, 2) # 约定了此 RNN 的输入 input_feature_size=10, output_feature_size=20, num_layers=2print(rnn)input = torch.randn(5, 3, 10) # input=(input_sequence, batch_size, input_feature_size)h0 = torch.randn(2,
2022-01-11 10:26:18
357
原创 经典深度学习框架
2.1 LeNet数据集:MNIST50,000 个训练数据10,000 个测试数据图像大小 28 ×\times× 2810 类LeNet架构第一层第二层第三层总结LeNet 是早期成功的神经网络先使用卷积层来学习图片空间信息然后使用全连接层来转换到类别空间2.2 AlexNet数据集:ImageNet(2010)数据集ImageNetMNIST图片自然物体的彩色图片手写数字的黑白图片大小469 ×\times× 38728
2021-12-14 12:09:27
3242
原创 Python-opencv打开保存图片含有中文路径的问题
# 打开cv2.imdecode(np.fromfile(open_path, dtype=np.uint8), -1)# 保存cv2.imencode('.jpg', self.img)[1].tofile(save_path)
2021-12-05 19:34:44
255
原创 监督、自监督和无监督
Supervise learningself supervise learning label 不需要特别雇佣人类去标记,他可以自动产生"Self-supervised Learning "这个词,当初Yann LeCun说过,其实并不是一个老词。根据2019年4月在Facebook上的一个帖子,他说,我现在说的这个方法,他叫Self-supervised Learning。为什么不叫无监督学习呢?因为无监督学习是一个比较大的家族,里面有很多不同的方法,为了让定义更清晰,我们叫它 “自监督”,比如我
2021-11-29 21:52:12
3045
原创 numpy 和 pandas 计算中 axis 的一些理解
pandas中的许多数学运算的函数中往往有 axis 这一个参数,axis 想表达的并不是计算的维度,而是传播的维度 !例如:df = pd.DataFrame([[1.4, np.nan], [7.1, -4.5], [np.nan, np.nan], [0.75, -1.3]], index=['a', 'b', 'c', 'd'], columns=['one', 'two'])df
2021-11-26 16:54:03
802
1
原创 RNN简介
RNN,或者说最常用的LSTM,一般用于记住之前的状态,以供后续神经网络的判断,它由input gate、forget gate、output gate和cell memory组成,每个LSTM本质上就是一个neuron,特殊之处在于有4个输入:z和三门控制信号ziz_izi、zfz_fzf和zoz_ozo,每个时间点的输入都是由当前输入值+上一个时间点的输出值+上一个时间点cell值来组成RNN用 RNN 处理流程举例如下:“arrive” 的 vector 作为 x1x^1x1 输入 RN
2021-11-25 11:50:32
981
原创 机器学习竞赛基础知识
1. 线下评估策略通常在数据竞赛中,参赛者是不能将全部数据都用于训练模型的,因为这会导致没有数据集对该模型的效果进行线下验证。为了解决这一问题,就要考虑如何对数据进行划分,构建合适的线下验证集。针对不同类型的问题,需要不同的线下验证方式,在此分为强时序性和弱时序性。1.1 强时序性问题对于含有明显时间序列因素的赛题,可将其看作强时间序行问题,即线上数据的时间都在离线数据集之后,这种情况下就可以采用时间上最接近测试集的数据做验证集例如,天池平台上的“乘用车零售量预测”竞赛,初赛提供 2012 年 1
2021-11-20 20:56:12
4864
4
原创 CNN简介
CNN卷积神经网络是含有卷积层的神经网络,而卷积层则得名于卷积运算。Filter在卷积层中,我们会用一个叫做filter的东西扫过一张图片。这些 filter 啊 它们的大小是,3 × 3 × Channel 的 Size。如果今天是彩色图片的话,那就是 RGB 三个 Channel,如果是黑白的图片的话,它的 Channel 就等於 1。一般而言,这个filter大小可以自己决定,我们这里用3×33\times33×3的filter来举例。上图显示了卷积运算的基本过程,用3×33\times33
2021-11-20 19:14:13
4263
原创 colab上配置mmdetection记录
# install dependencies: (use cu101 because colab has CUDA 10.1)#!pip install -U torch==1.5.1+cu101 torchvision==0.6.1+cu101 -f https://download.pytorch.org/whl/torch_stable.html!pip install -U torch==1.8.1+cu111 torchvision==0.9.1+cu111 -f https://downlo
2021-11-18 21:34:11
1301
原创 李宏毅2021 HW3
第一次:样例代码执行在训练过程中能够明显感到过拟合现象,train的accuracy达到99%而valid才0.5左右第二次:添加了数据增强train_tfm = transforms.Compose([ # Resize the image into a fixed shape (height = width = 128) transforms.Resize((128, 128)), # You may add some transforms here. #
2021-11-17 21:10:22
1298
5
原创 CNN 卷积层输出计算
class Classifier(nn.Module): def __init__(self): super(Classifier, self).__init__() # The arguments for commonly used modules: # torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride, padding) # torch.nn.MaxPoo.
2021-11-16 19:39:22
951
原创 pytorch——torch.flatten() 和 torch.nn.Flatten()
flatten()函数的作用是将tensor铺平成一维torch.flatten(input, start_dim=0, end_dim=- 1) → Tensorinput (Tensor) – the input tensor.start_dim (int) – the first dim to flattenend_dim (int) – the last dim to flattenstart_dim和end_dim构成了整个你要选择铺平的维度范围下面举例说明x = torch.t
2021-11-16 09:06:59
3474
原创 GAN简介
Introduction of Generative Models我们已经学到各式各样的,network架构,可以处理不同的X 不同的Y接下来我们要进入一个新的主题,这个新的主题是要把network,当做一个generator来用,我们要把network拿来做生成使用那把network拿来,当作generator使用,他特别的地方是现在network的输入,会加上一个random的variable,会加上一个Z **这个Z,是从某一个,distribution sample出来的,所以现在net
2021-11-09 15:38:18
387
原创 Transformer
Sequence-to-sequence(Seq2seq)Transformer就是一个,Sequence-to-sequence的model,他的缩写,我们会写做Seq2seq,那Sequence-to-sequence的model,又是什麼呢我们之前在讲input a sequence的,case的时候,我们说input是一个sequence,那output有几种可能一种是input跟output的长度一样,这个是在作业二的时候做的有一个case是output指,output一个东西,这个是在
2021-11-07 20:14:14
298
原创 self-attention
我们使用self-attention的原因,是考虑在处理Sequence这样的问题时,有没有办法说在考虑整个Sequence的情况下不是说用一个fully-connected这样的方式强硬的处理导致会产生大量参数以及容易overfitting这样的问题所以有没有更好的方法,来考虑整个Input Sequence的资讯呢,这就要用到我们接下来要跟大家介绍的,Self-Attention这个技术Self-Attention的运作方式就是,Self-Attention会吃一整个Sequence的资讯然后你
2021-11-07 16:47:12
237
原创 DataLoader的使用
官方文档说明DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=None, pin_memory=False, drop_last=False, timeout=0, worker_init_fn=None, *, prefetch_factor=2, p
2021-10-30 15:27:37
685
原创 李宏毅机器学习课程笔记
课程资源B站视频课程网址课程笔记问答整理下面仅记录自己的所得所感第一节课从单变量回归引入,再sigmoid/RELU拟合函数从而一步步到深度学习的框架,介绍的非常巧妙。尤其在sigmoid/RELU拟合函数那里,听了之后很有收获。...
2021-10-25 20:02:54
313
原创 week10——随机梯度下降,批量梯度下降、小批量梯度下降
批量梯度下降对于一个数据量非常大的模型,采用批量梯度下降,意味着每一次迭代计算都需要将所有样本数据导入并计算,这是计算量、计算时间消耗非常严重的一步。随机梯度下降随机梯度下降法每次迭代更新θ\thetaθ时,只需要用到一个样本数据,如上图中所示由于批量下降是通过总体数据得到的新的迭代更新,所以每一次更新的方向都是好的,而随机梯度只由一个数据控制本次更新,所以可能遇到有时更新的未必是好的方向,但是从整体上看,θ\thetaθ整体的更新是往好的方向的(即使损失函数下降到最小的方向)小批量梯度下降
2021-10-22 21:56:17
194
原创 week9(2)——recommender systems
以θ\thetaθ顾客特征为参数的情况以X电影特征为参数的情况θ\thetaθ和X都为参数的协同过滤方法
2021-10-22 16:11:46
76
原创 week9(1)——anomaly detection
异常检测高斯分布异常检测算法异常检测一般都是偏斜类样本,负样本很多,正样本较少。异常样本的选择是通过排除那些负样本的概率,其特征分布可以是除去负样本的很多方位,特征很多,难以学习。多元高斯分布...
2021-10-21 16:35:40
96
原创 week8——Unsupervised Learning
聚类算法K-means下面根据上述步骤演示一遍过程:K-means步骤中的优化原理K-means 的代价函数,优化目标是选取合适的c,u来最小化JK-means的步骤实际就是对损失函数的优化过程第一个循环是每次优化选取c,第二次则是优化选取u,不断迭代。随机初始化聚类中心的位置多次随机初始化,并且利用初始化值运行,最终选定最小损失的。聚类数目的选择...
2021-10-20 16:38:57
77
原创 wee6——模型评估
训练集、测试集、验证集One way to break down our dataset into the three sets is:Training set: 60%Cross validation set: 20%Test set: 20%三种数据划分可以分别做一下用途:We can now calculate three separate error values for the three different sets using the following method:Op
2021-10-18 10:25:53
134
原创 week5——反向传播
反向传播公式推导https://blog.youkuaiyun.com/ice_martin/article/details/77763075https://blog.youkuaiyun.com/gao158190523/article/details/72963615
2021-10-15 18:04:50
159
原创 week 4——Neural Network
传统方法的缺陷对于一些问题,如果我们采用之前所学的线性回归/逻辑回归,往往单凭线性函数难以划分,这就要求我们可能会将特征加到2次乃至更高次。对于一张50 ×\times× 50像素的图片来说,如果特征为2次,那么就需要高达3million的特征参数,如果更复杂,那么特征也将跟着次方级的增加,而这样明显不是一个好的选择,因为这大概率会导致最终结果的过拟合,并且计算成本很高。神经网络模型神经网络实现多分类任务一个简单的三层网络结构模型实现 xnor...
2021-10-15 09:22:01
100
原创 week 3(2)——regularization
正则化是解决过拟合的方法之一。添加正则化处理后的梯度下降,最终形式可以看到θj\theta_jθj前多了(1−αλm)(1 - \alpha\frac{\lambda}{m})(1−αmλ)项,是一个略小于1的值,从而有一定偏差,可以保证不会像原来那样出现完全拟合的情况。...
2021-10-13 16:52:40
86
原创 week 3(1)——Logistic Regression
分类问题有别于回归问题,假设我们做一个二分类,我们将分类结果表示为y = 0或 y = 1。当我们尝试用回归模型去解决分类问题,我们得到的预测函数很大可能会出现hθ(x)>1 or hθ(x)<0h_\theta(x)>1 \ or \ h_\theta(x)<0hθ(x)>1 or hθ(x)<0 这样的情况,显然这是不需要的,并且不太靠谱。我们应该尝试将hθ(x)h_\theta(x)hθ(x) 控制在(0,1)之间,从
2021-10-13 16:39:21
138
原创 week 2——Linear Regression
对数据表示做一些规定xj(i)=value of feature j in the ith training examplexi=the input (feature) of the ith training examplem=the number of training examplesn=the numb
2021-10-11 19:04:03
90
原创 主成分分析(PCA)
主要用于数据降维均值和协方差为准备主成分分析,另[X1⋯XN][X_1 \cdots X_N][X1⋯XN]是如上描述的一个p×Np \times Np×N观测矩阵. 观测向量X1,⋯ ,XNX_1, \cdots , X_NX1,⋯,XN的样本均值M由下式给出:M=1N(X1+⋯+XN)M = \frac{1}{N}(X_1 + \cdots + X_N) M=N1(X1+⋯+XN)对k=1,⋯ ,Nk=1, \cdots, Nk=1,⋯,N,令 Xk^=Xk−M\hat{X_k} =
2021-10-06 16:20:04
264
原创 线代二次型部分零碎知识点
1. 正交矩阵正交矩阵各列标准正交QTQ^TQT=Q−1Q^{-1}Q−12. 特征值和特征向量3. 对角化4. 对称矩阵5. 正定矩阵6. 相似7. 奇异值分解
2021-10-06 08:46:55
372
原创 奇异值分解(SVD)
简介记录一下学习奇异值分解中的小知识点,具体参考线代黄书和《统计学习方法》由先前的知识我们得知对角化在许多应用中很重要,然而,并非所有矩阵都有分解式A=PDP−1A=PDP^{-1}A=PDP−1,且D是对角的但分解A=QDP−1A=QDP^{-1}A=QDP−1对任意m×nm \times nm×n矩阵A都有可能!这类特殊分解称为奇异值分解。奇异值分解下面,我们对奇异值分解做如下介绍:A=UΣVT其中U是m阶正交矩阵,V是n阶正交矩阵,Σ是m×n矩形对角矩阵,其对角线元素非负,且按降序排列r=
2021-10-02 10:45:55
583
原创 四个基本子空间
基本概念矩阵A(m*n)的四个基本子空间分别为:列空间:A的列的所有线性组合零空间:Ax=0的左右解空间行空间:A的行的所有线性组合A转置的零空间(左零空间):A转置的零空间列空间行空间零空间左零空间基主列主元所在行解向量转置后算出的解向量维数rank(A)=rrank(A)=rn-rank(A)m-rank(A)关于行空间和列空间的一点补充A=[123111211231]⟶[101101100000]=R A = \left[ \be
2021-09-30 17:04:59
651
原创 矩阵乘法AB=C的四种解释
A * B = C的四种解释(1) row * col = C[i,j]Ci,j=∑k=1n(ai,k∗bk,j)C_i,_j = \sum_{k=1}^n(a_i,_k*b_k,j)Ci,j=k=1∑n(ai,k∗bk,j)(2) A*col(B) = col(C)C的每一列=A∗(B的对应列),即C的每一列为A的各列的线性组合C的每一列=A*(B的对应列),即C的每一列为A的各列的线性组合C的每一列=A∗(B的对应列),即C的每一列为A的各列的线性组合(3) row(A)*
2021-09-30 16:27:21
5075
原创 week 1——01Introduction
machine learning algorithm:machine learning algorithm:machine learning algorithm: -Supervised learning={ regression classification Supervised learning = \begin{cases} regression \\ classification \end{cases}Supervised learning={ regression cla
2021-09-27 21:08:02
101
原创 计网面试(自用)
电路交换vs分组交换电路交换:建立链接->通话(持续占用通信资源)->释放资源分组交换:采用存储转发技术,将一个报文划分几个分组,每个分组独立传输(无需事先建立链接)电路交换线路的传输效率很低,但数据传输可靠计算机网络体系结构物理层: 通过媒介传输比特,确定机械及电气规范,传输单位为bit主要包括的协议为:IEE802.3 CLOCK RJ45数据链路层: 将比特组装成帧和点到点的传递,传输单位为帧主要包括的协议为MAC VLAN PPP网络层:负责数据包从源到宿的传递和网际
2021-09-23 20:25:09
997
原创 fgets和read区别
char string[20];int main(){ write(1, ">", 1);// read(0, string, sizeof string); fgets(string, sizeof string, stdin); printf("%s\n", string); printf("sizeof: %ld \n", sizeof string); for (int i = 0; i < sizeof string; i
2021-06-25 00:14:25
297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人