- 博客(58)
- 收藏
- 关注
原创 C语言中的共用体
C语言中的共用体文章目录C语言中的共用体1. 共用体与结构体区别:2. 共用体的定义:3. 结构体与共用体的嵌套:1. 共用体与结构体区别:结构体的各个成员会占用不同的内存,互相之间没有影响;而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。2. 共用体的定义:第一种定义方式:union data{ int a; char b; double c;};union data A, B, C;第二种定义方式:union data{
2021-11-15 22:27:18 759
原创 C语言中的typedef struct
C语言中的typedef struct文章目录C语言中的typedef struct1. 使用typedef struct的原因:2. 结构体变量的传统定义方法:3. 结构体变量的精简定义方法:1. 使用typedef struct的原因:使用typedef struct可以有效简化结构体变量的定义过程2. 结构体变量的传统定义方法:struct traditional_type{ int a; char b;};struct traditional_type t1;3. 结构体变
2021-11-15 22:17:28 1223
原创 C语言中的void
C语言中的void文章目录C语言中的void1. void 函数与int 函数:2. static void与void:3. extern void与void:1. void 函数与int 函数:int型函数需要有返值,而void型则不需要。2. static void与void:用static用于函数定义时,使函数只在本文件(.c文件)内部有效,对其他文件(.c文件)是不可见的。这样的函数又称作静态函数。使用静态函数的好处是,不用担心与其他文件的同名函数产生干扰,另外也是对函数本身的一种保
2021-11-15 22:04:16 4385
原创 DCA1000报错spi端口无法连接
DCA1000报错spi端口无法连接文章目录DCA1000报错spi端口无法连接问题描述:问题原因:解决方法:问题描述:在使用DCA1000EVM板卡和mmWave Studio软件测量AWR/IWR板卡数据时,出现spi无法连接的情况问题原因:可能出现的原因为DCA1000EVM自带的60 pin HD连接线出现问题,或板卡上FPGA的SPI引脚存在问题解决方法:更换60 pin HD连接线,目前TI公司不单提供额外的60 pin HD连接线。所以需要重新购买板卡或找其它的60 pin H
2021-11-15 20:43:34 1224 1
原创 雷达中的视频信号
雷达中的视频信号文章目录雷达中的视频信号1. 接收机的信号处理流程2. 视频信号3. 称为视频信号的原因1. 接收机的信号处理流程接收机信号处理流程如下图:图中从左往右依次是包络检波器、中频放大器、本地振荡器,最右边是雷达天线所接收到的回波信号。信号的处理流程为(从右往左):先混频到中频,然后进行放大和滤波,再进行提取包络处理,处理完得到的就是视频信号。2. 视频信号视频信号就是中频信号放大后的包络3. 称为视频信号的原因检波器输出的信号正比于信号包络的输出电压,该信号类
2021-11-10 20:15:48 2497
原创 ccs在导入工程时报错文件或文件夹已存在
ccs在导入工程时报错文件或文件夹已存在文章目录ccs在导入工程时报错文件或文件夹已存在问题描述:问题原因:解决方法:问题描述:在导入某工程时,导入失败,显示该文件/文件夹已存在,请删除原文件/文件夹或给文件/文件夹重命名问题原因:此种问题多出现在多次重复导入demo时,在第一次导入demo时,会在用户自定工作区内生成xxx_dss和xxx_mss两个文件夹(默认情况下),当在ccs中把这两个文件夹移出工作区时,这两个文件夹仍存在工作区目录(但不在ccs中显示),当导入同一工程时,会导致默认生成的
2021-10-26 19:44:58 3369
原创 CCS报错demo中代码有问题
CCS报错demo中代码有问题文章目录CCS报错demo中代码有问题问题描述:问题原因:解决方法:问题描述:在代码编译(rebuild project)时,出现代码中某行有问题的error,且warings处显示mmwave sdk某版本未安装,正在使用另一个版本的mmwave sdk。问题原因:如果在错误信息显示处有显示warings,且内容为mmwave sdk某版本未安装,使用另一个版本的mmwave sdk。在此情况下,error的产生是mmwave sdk版本不对应导致的。解决方法:
2021-10-26 19:33:10 348
原创 tf中WGAN-GP实战
tf中WGAN-GP实战文章目录tf中WGAN-GP实战1. 任务2. WGAN模型3. WGAN训练4. 数据集处理1. 任务利用DCGAN对Anmie数据集生成2. WGAN模型# 定义WGAN-GP过程import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layersclass Generator(keras.Model): def __init__(self):
2021-10-03 12:46:20 526
原创 tf中DCGAN实战
tf中DCGAN实战文章目录tf中DCGAN实战1. 任务2. GAN模型3. GAN训练4. 数据集处理1. 任务利用DCGAN对Anmie数据集生成2. GAN模型# 定义GAN过程import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layersclass Generator(keras.Model): def __init__(self): supe
2021-09-30 19:19:28 227
原创 tf中的GAN原理及变种
tf中的GAN原理及变种文章目录tf中的GAN原理及变种1. GAN基本原理2. 纳什均衡3. DCGAN4. EM距离5. WGAN1. GAN基本原理GAN基本结构:GAN基本思想:训练一个判决器,要求其判决准度够高。训练一个生成器,使其生成的数据的分布与训练判决器数据的分布尽可能接近,即使pg(x)p_g(x)pg(x)pr(x)p_r(x)pr(x)尽可能相似GAN的损失函数:minG maxDL(D,G)=Ex∼pr(x)[logD(x)]+Ez∼pz(z)[log
2021-09-29 17:08:38 349
原创 tf中的Auto Encoder(AE和VAE)
tf中的Auto Encoder(VAE)文章目录tf中的Auto Encoder(VAE)1. Auto Encoder(AE)2. Variational Auto Encoder(VAE)3. AE实战VAE实战1. Auto Encoder(AE)基本Auto EncoderAuto Encoder自编码器应用于无监督学习监督学习,即训练数据含有标签,一般用于分类和预测任务无监督学习,即训练数据不含有标签,一般用于聚类和数据生成任务自编码器的基本结构如下所示,其中encoder的
2021-09-28 19:39:49 413
原创 tf中的LSTM与GRU
tf中的LSTM与GRU文章目录tf中的LSTM与GRU1. RNN存在的问题2. LSTM原理2. LSTM实战2. GRU原理2. GRU实战1. RNN存在的问题普通的RNN网络存在容易梯度爆炸和梯度弥散的问题普通的RNN网络容易出现梯度爆炸和梯度弥散的问题的原因,梯度更新公式为WhhkW_{hh}^kWhhk{Whh>1Whhk⟶∞Whh<1Whhk⟶0\begin{cases} W_{hh}>1 && & W_{hh}^k\longr
2021-09-27 20:40:11 421
原创 tf中的循环神经网络(RNN)
tf中的循环神经网络(RNN)目录tf中的循环神经网络(RNN)1. 序列数据的表示方法2. 循环神经网络(RNN)3.1. 序列数据的表示方法与时间相关的数据称为时间序列(Sequence)。如股票曲线,语音,句子等序列数据转换为数值数据成为Embeding,如[b, seq_len, feature_len],其中seq_len表示Sequence中的单元数, feature_len表示序列数据转换为数值数据时特征数据的长度Embeding后的batch的理解方式:以股票数据分析为例,[b,
2021-09-27 17:05:54 447
原创 定点与浮点运算
定点与浮点运算文章目录定点与浮点运算1. 定点加减法2. 定点乘除法3. 定点运算器4. 浮点加减5. 浮点乘除6. 浮点运算器1. 定点加减法定点加法:此处指的是纯整数,加法采用补码相加定点减法:减法采用补码相减,即被减数的补码加上(-减数)的补码溢出的概念:两正数相加,结果大于机器字长所能表示的最大正数,称为正溢;两负数相加,结果小于机器字长所能表示的最小正数,称为负溢;变形补码:传统补码为[x]补码=x+2n+1(x<0)[x]_{补码}=x+2^{n+1}(x<0)[x]补
2021-09-24 20:20:58 1095 1
原创 tf中的batchnorm
tf中的batchnorm目录tf中的batchnorm1. 使用batchnorm目的2. 常见Normalization([N, C, H*W])3. Batch normalization4. TensorFlow中Batch normalization实现5. 使用Batch normalization好处1. 使用batchnorm目的在使用sigmoid函数时,在函数两端的梯度几乎为0,位于这部分区间的数据参数更新很慢。利用normalization可以把之前数据的分布平移缩放到0附近
2021-09-22 17:17:22 603
原创 tf中的常见卷积网络(残差网络ResNet)
tf中的常见网络目录tf中的常见网络1. tf中常见的卷积网络介绍2. 1x1卷积核的作用3. ResNet(残差网络)1. tf中常见的卷积网络介绍LeNet-5:2卷积层,2下采样层,3全连层AlexNet:添加了池化层VGG:运算量较大,卷积+池化+全连(如tf中的卷积神经网络实战中网络)GoogLeNet:在一个层中使用不同的卷积核ResNet:有效解决了因层数增加引起的训练困难问题DenseNet:2. 1x1卷积核的作用降/升维,具体只改变通道的维度3. ResNe
2021-09-22 15:02:37 1201
原创 tf中的卷积神经网络实战
CIFAR 100实战目录CIFAR 100实战思路(卷积层+池化层+…+卷积层+池化层+全连层+输出层)加载数据集,数据集预处理设定卷积层与池化层设定全连接层(设定卷积层池化层与全连层的输入维度)梯度下降,更新参数测试(获得准确率)代码import tensorflow as tffrom tensorflow.keras import layers, optimizers, datasets, Sequentialimport osos.environ['TF_CPP
2021-09-20 20:07:56 217
原创 tf中的卷积神经网络
tf中的卷积神经网络目录tf中的卷积神经网络1. 卷积2. 卷积神经网络3. 池化和采样1. 卷积对于全连层,有参数过多,加重硬件负担的风险。采用部分连接的方法,如下图所示(其中绿线的权值相同。蓝线的权值相同)可以有效降低参数。对于局部连接可以理解为一组权值(在读完一组图片前权值不变)滑过整张图片,得出新的信息。卷积的概念:卷积的概念如下,两个矩形门函数的卷积是三角函数(详见信号与系统)y(t)=x(t)∗y(t)=∫−∞+∞x(τ)y(t−τ)dτ y(t)=x(t)\ast y(t)=\in
2021-09-17 17:06:16 694
原创 数据与文字表示方法
数据与文字表示方法目录数据与文字表示方法1. 数据格式2. 数的机器码表示3. 字符与字符串的表示方法1. 数据格式定点数:如果表示纯整数,则最高位是符号位,其余位依次是量值(尾数)。如果表示纯整数,则最高位是符号位,其余位依次是量值(尾数),小数点位于最高位和次高位之间。浮点数:采用指数表示法,其中尾数部分的绝对值小于1,阶码用整数表示,体现了浮点数的精度十进制数串:字符串形式(每个数位占一个字节)或压缩的十进制数串形式(每个数位占半个字节,C表示正号,D表示负号,当剩余半个字节时,在最高位前
2021-09-16 21:27:12 491
原创 tf中的过拟合和欠拟合
tf中的过拟合和欠拟合目录tf中的过拟合和欠拟合1. 过拟合和欠拟合概念2. 交叉验证3. 过拟合解决方法3.1 获得更多的数据3.2 限制模型复杂度(Regularization)1. 过拟合和欠拟合概念欠拟合:模型的表达能力小于真实数据分布的复杂度(如用一个线性函数表达一个非线性分布时存在欠拟合问题)过拟合:模型的表达能力大于真实数据分布的复杂度(如用一个非线性函数表达一个线性分布时存在过拟合问题)欠拟合的表现:训练准确率差,测试准确率也差过拟合的表现:训练准确率好,测试准确率差,即泛化能
2021-09-16 19:24:36 351
原创 tf中自定义层实战(CIFAR10图像识别)
tf中自定义层实战(CIFAR10图像识别)目录tf中自定义层实战(CIFAR10图像识别)1. 思路2. 代码1. 思路预处理函数加载数据集与数据预处理自定义层自定义模型网络训练测试(基于keras高层API)保存模型并加载2. 代码import tensorflow as tffrom tensorflow.keras import datasets, layers, optimizers, Sequential, metricsfrom tensorflow import
2021-09-16 10:10:26 277
原创 tf中模型保存与加载
tf中模型保存与加载目录tf中模型保存与加载1. save/load weights2. save/load entire model3. saved_model4. 实战1. save/load weightsmodel.save_wights('/想要保存的地址.ckpt')model = create_model()model.load_wights('/模型保存的地址.ckpt')loss,acc = model.evaluate(test_image, test_label)仅保
2021-09-15 20:41:44 615
原创 tf中的自定义网络
tf中的自定义网络目录tf中的自定义网络1. keras.Sequential2. keras.layers.Layer3. keras.Model1. keras.Sequential容器,里面声明层,连接方式,激活函数network = Sequential([layers.Dense(256, activation='relu'), layers.Dense(128, activation='relu'), l
2021-09-15 19:57:26 289
原创 keras高层API
keras高层APIkeras高层API主要用于代码的简化,即将训练,预测,误差计算等代码简化目录keras高层API1. 数值更新2. 快捷训练方法1. 数值更新数值指准确率和损失函数按batch计算的准确率和损失函数不如按epoch计算的更有说服力主要流程:新建一个Metrics;更新参数(传入需要组成一个epoch时在输出的参数);传出结果;清空Metrics建立一个Metrics:acc_meter = metrics.Accuracy()loss_meter = metric
2021-09-15 18:57:34 209
原创 tf的图片识别(基于层)
tf的图片识别(基于层)目录tf的图片识别(基于层)1. 思路2. 代码1. 思路添加相关头文件(数据集管理,Dense层,优化器,容器,测试器)数据预处理(类型转化,归一化)将数据处理为tensor,设置batch大小迭代器构建网络模型(全连层)计算损失函数梯度,更新参数计算准确率2. 代码import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import datasets, laye
2021-09-15 15:48:00 244
原创 计算机系统概论
计算机系统概论目录计算机系统概论1. 计算机的性能指标2. 计算机的硬件3. 计算机系统的层次结构1. 计算机的性能指标吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量响应时间:从输入有效到系统产生响应之间的时间度量利用率:在给定的时间间隔内系统被实际使用的时间所占的比率处理机总字长:指处理机运算器中一次能完成二进制数运算的位数,总线宽度:CPU中运算器和存储器之间进行互连的内部总线二进制位数存储器容量:存储器中所有存储单元的总数目存储器带宽:单位时间内从存储器读出的二进制数信息量
2021-09-14 20:00:39 1470
原创 链式法则及反向传播算法
链式法则及反向传播算法目录链式法则及反向传播算法1. 链式法则2. 反向传播推导(多层多输出感知机)3. 2D函数优化(反向传播算法)实现1. 链式法则链式法则即链式求导2. 反向传播推导(多层多输出感知机)简要推导(求和范围为k∈Kk\in Kk∈K)∂E∂wij=∂∂wij(Ok−tk)22\frac{\partial E}{\partial w_{ij}}=\frac{\partial}{\partial w_{ij}}\frac{(O_k-t_k)^2}{2}∂wij∂E=∂w
2021-09-14 18:44:56 861
原创 tf中的梯度
tf中的梯度目录tf中的梯度1. 梯度的概念2. tensorflow中求解梯度的方法3. 激活函数及其梯度4. 损失函数及其梯度5. 单输出感知机及其梯度6. 多输出感知机及其梯度1. 梯度的概念导数,偏微分,梯度的区别:导数是一个笼统概念,指函数照各个(或某个)方向上的变化率;偏微分为函数在某一确定方向上的变化率,梯度为函数在某几个方向上的变化率##2. tensorflow中求解梯度的方法首先用with tf.GradientTape() as tape将需要更新的函数框起来,再用[需
2021-09-14 16:53:19 248
原创 tf中的误差计算
tf中的误差计算tensoflow中主要有三种误差计算方式,即均方误差(MSE),交叉熵,铰链损失函数(适用于SVM)均方误差(MSE)概念:均方误差的表达式为loss=∑(y−out)2N loss = \dfrac{\sum(y-out)^2}{N} loss=N∑(y−out)2其中N是为了更好地进行梯度下降,避免弥散和爆炸,一般取batch大小以下展现了三种军方无擦的写法,分别是按数学式实现(loss1),2范数实现(loss2),tf自带的MSE函数实现(loss3)交叉熵
2021-09-13 22:24:08 507
原创 tf中的层(输出层)
tf中的层(输出层)tf中的输出层主要有以下四种情况:实数输出(通常用于预测):有时用relu函数将输出转换为正数[0,1]的输出:一般用sigmoid函数实现[0,1]的输出(输出的总和为1):即概率输出,用softmax函数实现. [-1,1]的输出:可用于多态选择(如LSTM中),用tanh函数实现...
2021-09-13 19:43:01 560
原创 tf中的层(全连接层)
tf中的层(全连接层)tf中分为输入层,隐层,输出层全连接层的实现tf.keras.layers.Dense(层数) 此处的层数指的是连接的两层中后一个层的神经元数目两个层之间的连接(其中kernel看为w,bias为b)多个层之间的连接(全连接):keras.Sequential([layer1,layer2,layer3])import tensorflow as tffrom tensorflow import kerasx = tf.random.normal([2
2021-09-07 22:15:57 759
原创 tf中数据集的加载
tf中数据集的加载数据集的加载(从网上下载)tf.datasets.数据集名字.loda_data()将数据集处理为tensor先用tf.tf.data.Dataset.from_tensor_slices(),再用next(iter(转换后数据名字))数据预处理数据的打散:采用shuffle操作,即shuffle(x) 其中x代表将x这个范围的数据打散(一般将x取的比较大)数据预处理:先写一个预处理函数(也可以执行别的预处理方法,不一定与下面的方法相同),将数
2021-09-07 16:29:42 457
原创 tf中的坐标
tf中的坐标根据坐标有目的的选择数据tf.where选择的是逻辑值(即True和False),tf.where的结果是True的索引tf.where(cond,a,b) 代表根据cond的值选择对应位置中a或b的值,以二维为例,在cond中True位置选择对应位置a的值,在cond中False位置选择对应位置b的值。根据坐标有目的的更新数据将参数更新到指定的位置(用一组数代替一个模板中特定位置的数)模板中元素必须全为0(且为新建的)tf.scatter_nd(indice
2021-09-07 15:21:44 276
原创 tf中张量的限幅
tf中张量的限幅根据值限幅:根据具体的数值裁剪掉不符合设定范围内的数据tf.clip_by_value(a,x,y) 将a中的值限定在x和y之间。也可通过tf.maximum()和tf.minimum()组合实现可用于产生relu函数等其它特定函数2.根据范数限幅(一般指2范数):将数据整体进行缩放tf.clip_by_norm(a,x) 将a缩放x倍(即a/x)这种缩放方式可以避免由缩放引起的梯度变化梯度缩放:将所有梯度值等比缩放tf.clip_by_glob
2021-09-07 11:00:29 157
原创 tf的填充与复制
tf的填充与复制填充以2维为例(其它维度同理),填充需要按照维度进行填充,对于2维数据,第一个位置( []的数据 )代表按行填充,左面的数字代表在上面填充几行,右面的数字代表在下面填充几行。第二个位置( []的数据 )代表按列填充,左面的数字代表在上面填充几行,右面的数字代表在下面填充几行。复制...
2021-09-07 10:27:41 429
原创 tf的张量排序
tf的张量排序全排序(将所有元素排序)sort用于全排序,argsort用于获得全排序后元素的索引sort(a,direction=’…’)和argsort(a,direction=’…’)多维情况部分排序(取最大的几位)tf.math.top_k(a,x) 取a中的最大x位,可以用indices和values去除最大x位的索引和值top_k accuracy计算前几位的准确率,如最大可能的几个结果中有正确结果的概率。示例:import tensorflo
2021-09-06 20:35:28 338
原创 tf的数据统计(张量特性)
tf的数据统计范数1范数:元素绝对值的和2范数:元素平方和开根号无穷范数:元素中最大值的绝对值用tf.norm(a,ord=x,axis=y)函数来实现范数,其中x代表为几范数,y代表在第几维上取范数(第0维是按列取,第一维是按行取),ord和axis可不写(即默认为在所有维上取2范数)最大/最小/均值最大/最小/均值分别由tf.reduce_max(a,axis=x),tf.reduce_min(a,axis=x),tf.reduce_mean(a,axis=x)函数实现,其
2021-09-06 16:12:08 374
原创 tf中张量的合并于分割
张量的合并concat函数:concat函数用于合并张量,但不会产生新的维度,具体用法为 tf.concat([a,b],axis=x)其中a和b是两个张量(a,b除了合并的维度之外,其他维度必须相同),x代表在哪个维度上进行合并stack函数:concat函数用于合并张量,会产生新的维度,具体用法为 tf.stack([a,b],axis=x)其中a和b是两个张量(a,b的所有维度必须相同),x代表在哪个维度上增加一个新的维度,并按这个新的维度合并张量的分割unstack
2021-08-15 10:38:16 340
原创 基于tf的前向传播(张量)
前向传播基于现在的参数不断更新之前的参数思路加载数据集数据集预处理(归一化,分配batch大小)初始化参数与设定学习率前向传播更新参数(梯度下降)(需要在此处改为onehot编码,在此循环外改变编码会导致维度不一致)代码import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import datasets# 取消多余的打印信息import osos.environ['TF_CPP_MIN
2021-08-11 16:29:55 161
原创 tf的基本数学运算
tf支持的基本数学运算四则运算 + - * /平方和运算 ** pow square开平方 sqrt取整取余 //(整除) %(余除)指数运算 exp log矩阵相乘 @ matmultf支持的基本数学运算类型元素间的运算(如四则运算,平方和运算,开平方,取余,指数运算)矩阵之间的运算(矩阵相乘)维度之间的运算(如求某一维度的均值,最小值,最大值等)tf基本数学运算实例四则运算和取整取余指数计算:其中log计算默认底为e,如需要log
2021-08-09 22:02:47 1283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人