
深度学习
文章平均质量分 66
楓尘林间
计算机爱好者
展开
-
激活函数softmax的反向推导
激活函数softmax原创 2022-06-11 20:55:36 · 1249 阅读 · 1 评论 -
Pytorch模型训练中的变量
突发奇想,想看pytorch中某个变量更新状态,在model初始化时:emb = []# 初始化模型参数for i,model in enumerate(models): for j,param in enumerate(model.parameters()): if i==0 and j==1: emb = param print("************",emb.shape)在模型反向传播后原创 2022-01-05 20:53:38 · 932 阅读 · 0 评论 -
BatchNormalization 与 LayerNormalization 区别讲解
BNBatchNormalization于2015年被谷歌提出,简称BN。计算方式如下:就是对每个batch_size 的数据进行标准化,变成均值为0,标准差为1的数据,消除特征间的量纲差别。同事还引入了两个可学习的参数: β 和 γ分别为 scala 和shift,让模型学习适应的分布。值得注意的是,BN是对不同batch内样本的同一个特征进行归一化,例如有身高体重和年龄三个特征。是一种“列缩放”。BN能够解决梯度弥散。通过将输出进行适当的缩放,可以缓解梯度消失的状况。拿sigmoi原创 2021-11-23 10:59:31 · 1711 阅读 · 0 评论 -
神经网络损失函数的正则化
无论L1、L2正则化方法,本质上都是乘法参数W使其等于或者趋向于0;但有没有可能有一种正则化方法会使参数W趋向于非零值呢?答案是:可以这样做 将w约束到A附近。L1正则化法:对参数进行一次约束,会形成稀疏解L2正则化的特性:参数W变小、但不为零,不会形成稀疏解为什么会产生这样的结果呢?可以从两种角度去解释:解释1:直观感受(几何):黄色区域表示正则项限制,蓝色区域表示优化项的等高线,要满足在二者交点上的点才符合最优解w*。故:当w的等高线逐步向正则限制条件区域扩散时,前者交点大多在非.原创 2021-01-06 23:05:47 · 695 阅读 · 0 评论 -
tensorflow中如何判断两个tensor值相等(tensor转array)
需要转化为numpy进行判断转化为numpy的方法有两种方法1: tf.Session().run(tensorA) 转化为numpyprint(type(tf.Session().run(tf.constant([1,2]))))结果:<class ‘numpy.ndarray’>方法2: 使用eval()方法sess = tf.InteractiveSession()print(type(tf.constant([1,3]).eval()))或sess = tf.原创 2020-12-03 14:49:11 · 1817 阅读 · 6 评论 -
tensorflow利用saver读取部分参数变量值
做实验时到的问题:'feature_embeddings:0' not found in checkpoint当时的实验室分别训练modelA和modelB,再将B模型的参数载入到A中,具体如下图所示:modelA中包含modelB中所有参数,可以将modelA中参数载入ModelB,但是反过来则报错,具体载入语句为:# 存储saver = tf.train.Saver(max_to_keep=5) saver.save(self.sess, self.save_path + 'model.原创 2020-10-21 16:57:06 · 479 阅读 · 0 评论 -
tensorflow2.0安装 CUDA和CUDNN并运行成功
查看 CUDA 版本:cat /usr/local/cuda/version.txt或者:nvcc -V查看 CUDNN 版本:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2查看能否使用gpu:jupyter输入:import tensorflow as tfprint("Num GPUs Available: ", len(tf.config.experimental.list_physical_devi原创 2020-09-06 19:57:00 · 1814 阅读 · 1 评论 -
tensorflow2.0利用keras 打印AUC指标
keras中没有对AUC的定义,需要我们自己定义:x = np.linspace(-6, 6, 200)y = np.array([0.0]*100 + [1.0]*100)state = np.random.get_state()np.random.shuffle(x)np.random.set_state(state)np.random.shuffle(y)x_train, y_train = x[0:160], y[0:160]plt.scatter(x_train, y_trai原创 2020-09-03 16:07:25 · 2777 阅读 · 0 评论