- 博客(32)
- 收藏
- 关注
原创 atomoic及其六个内存顺序
Atomic 是C++中的一种原子类型,也称为原子操作。它是一种不可分割的操作,可以确保多个线程同时对同一个共享变量的操作是安全的。Atomic的功能涵盖了多种操作,例如读取、更新、交换、加减等,可以确保这些操作在多线程环境中是原子性的,也就是说,操作不会被中断或改变。六个内存顺序: 1. memory_order_relaxed:不执行任何内存顺序约束,最灵活,但也最不安全。 2. memory_order_acquire:发生在acquire之前的任何操作,对acquire
2023-04-25 16:22:40
868
原创 Linux下配置MySQL数据库的配置文件/etc/mysql/my.cnf报错
打开my.cnf发现里面内容为空,指向:conf.d和mysql.conf.d;vim /etc/mysql/my.cnf修改配置文件;重启mysql即可。
2023-04-14 11:38:53
1424
原创 序列式容器/配接器:heap、priority queue、slist
1、heap是组成priority queue的组件,底层由complete binary tree(完全二叉树)组成,可由vector和一些heap算法实现为完全二叉树的形式。分为max-heap和min-heap 。 max-heap:每个节点的键值大于或等于其子节点的键值。 min-heap:每个节点的键值小于等于其子节点的键值。 2、priority queue :底层为其它容器实现,是一种配接器。与queue不同的是它带有权重观念,其元素自动依照权值从大到
2023-04-05 09:19:46
206
原创 Linux 笔记
mkdir -p 路径;一次创建多层不存在的目录 mkdir -p -/a/b/c。home:除了root用户以外的其它用户的家目录,类似于windows的user。预处理:对输入文件预处理:g++ - E test.cpp -o test.i。编译:产生汇编语言文件 : g++ -S test.i -o test.s。汇编:编译源代码为机器语言:g++ -C test.s -o test.o。ls 相对路径:ls ./表示当前目录下;链接:产生可执行的文件名:g++ test.o -o test。
2023-03-12 23:05:31
145
原创 NLP学习笔记:Attention
具体实现:在seq2seq的编码器中将每个时刻的隐藏状态ht汇总为hs传入解码器,然后在解码器中添加Attention层,该层负责把编码器中传进来的对应时刻的ht选出来标记为上下文向量c;两个LSTM层按相反方向传递隐藏状态,最后将各个时刻两层LSTM的隐藏状态向量拼接(求和、取平均也可以)起来,作为最终隐藏状态向量。跨层连接时,在连接处两个输出被相加,加法的反向传播,梯度被原样传播,不会出现梯度消失或爆炸。h为解码器中LSTM层的输出,h*hs为内积计算hs中个行向量与h的相似度。
2023-02-09 11:39:56
170
原创 NLP学习笔记:seq2seq
Peeky(偷窥),将编码器输出的隐藏状态信息h分配给解码器所有的LSTM和Affine层,加入Peeky后模型参数增加带来计算量的负担。根据概率分布进行概率性的选择(概率性的方法)。生成单词的语言模型-->获得单词的概率分布-->根据概率分布采样下一个出现的单词。:反转输入数据(直观的认为反转数据后反向传播梯度更加平滑)。机器翻译、自动摘要、问答系统、邮件自动回复、图像自动描述等。,seq2seq(从一个时序到另一个时序的神经网络)。根据已经出现的单词输出下一个出现的单词的概率分布。
2023-02-09 10:33:06
176
原创 NLP学习笔记:GateRNN
反向传播矩阵连乘);控制下一隐藏层 ht 的输出:o=sigmoid(x*Wx+h(t-1)*Wh+b)。控制记忆单元ct 遗忘不必要的信息:f=sigmoid(x*Wx+h(t-1)*Wh+b)。输入C(t-1)和h(t-1)经过tanh或者Sigmoid函数转换计算向下层输出ht,向下一LSTM输入ht和ct。将输入门i和记忆单元g的乘积添加到上一记忆单元c(t-1);记忆单元反向传播为矩阵的对应元素乘积,每次都基于不同的门值进行对应元素的乘积。
2023-02-09 10:20:14
294
原创 NLP学习笔记:RNN
被截断的BPTT(时序数据过长时,反向传播梯度消失以及计算量过大,因此将网络截断为小型网络,正向传播不变,反向被截断);将xs(x0,x1,...xT-1)捆绑为输入,hs(h0,h1,...hT-1)捆绑为输出,一次处理T步的RNN。给出单词序列发生的概率(基于给定的已经出现的单词的信息输出将要出现的单词的概率分布)困惑度(或分叉度,简单理解为概率的倒数,困惑度越高语言模型越差),分叉度指下一个可能出现的单词的候选个数)。行方向保存样本数据;输入多个数据时其平均损失L,其平均困惑度为exp(L)。
2023-02-09 10:09:47
157
原创 机器学习笔记:第4章 决策树
生成结点node(1)当前结点包含的样本属于同一类别无需划分,直接返回该类型。(2)当前样本属性集为空,或是所有样本在所有属性上取值相同,无法划分,将其叶结点标记为样本最多的类别。
2023-01-28 23:01:44
234
原创 机器学习笔记:第2章 模型评估与选择
基于自助采样法,每次从m个样本的数据集D中,进行有放回的随机采样 1个样本拷贝到d中,进行m次操作后得到含有m个样本的d作为训练集,d中未出现的D中的样本作为测试集,评估模型的泛化误差。将D划分为k个互斥的子集,每次使用k-1个子集的并集作为训练集S,剩余1个为测试集,从而获得k组训练集/测试集,进行k次训练和验证,最终返回k次的平均值。模型预测正例正确的样本数TP(真正例),占模型预测为正例的样本数(TP+FP)的比例:P=TP/(TP+FP)经验误差/训练误差:学习器在训练集上的误差。
2022-12-10 17:21:07
245
原创 机器学习笔记:第1章 机器学习发展史
R.S.Michalski等人(1983)将机器学习划分为:从样例中学习、在问题求解和规划中学习、通过观察和发现学习、从指令中学习等种类。E.A.Feigenbaum等人(1983)把机器学习划分为:机械学习、示教学习、归纳学习、类比学习等种类。NFL(没有免费的午餐理论):在所有问题出现机会均等、或所有问题同等重要的前提下任何算法的期望性能都相同。20世纪80年代符号主义学习:决策树和基于逻辑的学习(归纳逻辑程序设计)。
2022-12-09 19:05:52
221
原创 Tensorflow常见的抑制过拟合方法:数据增强、Dropout、BatchNormalization、正则化
Tensorflow常见的抑制过拟合方法:数据增强、Dropout、BatchNormalization、正则化
2022-10-24 11:00:37
1000
原创 应用 Tensorflow 进行花卉识别(flower_recognition)
应用Tensorflow构建简单网络进行花卉识别(flower_recognition)
2022-10-24 10:02:20
1289
原创 神经网络训练常见防止过拟合方法以及Tensorflow中的具体实现
神经网络训练常见防止过拟合方法(添加权重正则化、Dropout层、Batch Normallization、数据增强)以及Tensorflow中的具体实现
2022-10-14 22:41:03
854
原创 【使用 jupyter notebook 进行网络训练时显存不足,设置GPU占用率】
使用jupyter notebook进行网络训练时显存不足,设置GPU占用率
2022-10-13 08:54:17
2583
原创 【神经网络中:常见的几种参数更新方法(SGD、Momentum、AdaGrad、Adam、RMSProp、Adadelta)权值初始值、Batch Norm、过拟合、抑制过拟合】
神经网络中:常见的几种参数更新方法(SGD、Momentum、AdaGrad、Adam、RMSProp、Adadelta)权值初始值、Batch Norm、过拟合、抑制过拟合
2022-10-06 22:39:30
3804
原创 tf.keras.utils.image_dataset_directory()预处理数据,进行模型训练以石头、剪刀、布(rock-scissors-paper)手势数据为例
tf.keras.utils.image_dataset_directory()预处理数据,tf.data.Dataset.take()显示训练数据前几张图像,进行模型训练,以石头、剪刀、布(rock-scissors-paper)手势数据为例。
2022-10-03 22:11:27
3520
原创 sign_language_mnist.csv数据集,26个英文字母识别,读取.csv文件中的数据为多维数组格式存储的图像,并显示图像
sign_language_mnist.csv数据集,26个英文字母识别,读取.csv文件中的数据为多维数组格式存储的图像,并显示图像
2022-09-27 22:32:36
892
原创 Tensorflow 中的tf.keras.preprocessing.image.ImageDataGenerator()和.flow()介绍
Tensorflow 中的tf.keras.preprocessing.image.ImageDataGenerator()和.flow()参数介绍
2022-09-27 21:34:41
1034
2
原创 C++常用的容器:vector、string、deque、stack、queue、list、set、map、hash_set、hash_map等的介绍
本文详细介绍了vector、string、deque、stack、queue、list、set、map以及pair对组的基本语法。
2022-09-25 22:42:46
4718
原创 matplotlib绘图,一张画布显示多个子图,查看文件夹中的指定数量的图片,将其显示在画布上
matplotlib绘图,一张画布显示多个子图,查看文件夹中的指定数量的图片,将其显示在画布上。pyplot.gcf()#获取当前图像;pyplot.subplot(rows,cols,position) #设置子图的位置;
2022-09-18 10:59:33
1307
原创 cats-and-dogs 猫狗识别,自己分割数据为训练集和测试集,并利用Tensorflow进行模型构建并预测自己准备的数据
cats-and-dogs 猫狗识别,自己分割数据为训练集和测试集,并利用Tensorflow进行模型构建并预测自己准备的数据。
2022-09-17 11:42:45
1048
原创 【Tensorflow horse-or-human识别 --(2)利用搜索到的超参数进行模型预测】
如何利用搜索到的超参数进行模型训练并且可视化结果,最后利用训练好的模型预测自己从网上下载的图片。
2022-09-16 15:37:24
279
原创 Tensorflow horse-or-human识别 --(1)kerastuner 调整模型参数
应用Tensorflow搭建卷积神经网络CNN,进行horse-or-human 识别训练,利用Hyperband进行模型参数自动优化。
2022-09-11 11:22:55
626
原创 Anaconda安装Pytorch和Tensorflow环境后,jupyter Notebook 打开后内核正忙
jupyter notebook 内核正忙
2022-08-25 13:28:40
1025
2
原创 【C++实现键盘输入两个矩阵执行加法和乘法运算】
C++实现键盘输入两个矩阵执行加法和乘法运算 首先声明,初学C++程序有不完善的地方,欢迎大家批评指正。本程序写了两个简单的函数(矩阵加法MatrixSum()和矩阵乘法MatrixMulti()),然后对其进行调用实现从键盘输入两个矩阵进行运算。完整代码:`#includeusing namespace std;//矩阵A+Bvoid MatrixSum(int** a, int** b, int r1, int c1, int r2, int c2){if (r1 != r2 || c
2022-03-31 08:42:58
3293
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人