![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 63
cofisher
这个作者很懒,什么都没留下…
展开
-
Python 实现 1) 最大最小归一化; 2) 均值方差归一化
最大最小归一化def norm(data): data_max, data_min = np.tile(np.max(data, axis=-1)[:, np.newaxis], [1, data.shape[1]]), np.tile(np.min(data, axis=-1)[:, np.newaxis], [1, data.shape[1]]) data_norm = (data - data_min) / (data_max - data_min) return data_原创 2021-06-02 09:32:09 · 3628 阅读 · 0 评论 -
使用 Python 实现信号时频转换与包络分析
项目说明使用 Python 绘制一段信号的频谱与包络谱。代码实现from matplotlib import pyplot as pltimport numpy as npimport scipyimport tensorflow as tfimport os# 中文显示工具函数def set_ch(): from pylab import mpl mpl.rcParams['font.sans-serif'] = ['FangSong'] mpl.rcParam原创 2021-05-03 14:25:28 · 2598 阅读 · 0 评论 -
联邦学习(四):Python Socket 实现两台电脑之间文件传输
文章目录项目说明实现步骤代码实现服务器1、导入需要的库2、声明协议类型,同时生成 socket 连接对象3、绑定在服务器中需要监听的端口并开始监听4、获得服务器中的图片信息5、客户端上传请求后建立从服务器到客户端的连接实例6、接收数据,明确图片名称7、向客户端上传相关图片信息8、打开相关图片文件,分批次读取字节并下载到客户端客户端1、导入需要的库2、声明协议类型,同时生成 socket 连接对象3、连接服务器的相关端口4、向服务器上传图片名称信息5、接收服务器返回的图片信息6、以二进制格式打开一个文件用于存原创 2021-04-22 15:01:34 · 1852 阅读 · 1 评论 -
联邦学习(三):Tensorflow2.0 实现联邦学习
文章目录项目说明代码实现1、导入需要的库2、定义相关的类2.1 Data2.2 Aggregator2.3 Model2.4 Bank3、导入并处理原始数据4、联邦学习4.1 划分数据并重采样4.2 模型训练4.2.1 仅使用 Data_Global 训练服务器模型4.2.2 联邦学习训练服务器模型4.3 模型测试5、非联邦学习模型对比5.1 建立模型5.2 模型训练5.2.1 使用不平衡数据训练5.2.2 使用平衡数据训练5.3 非联邦学习模型效果5.4 联邦学习模型效果项目说明数据集:creditc原创 2021-04-21 15:30:49 · 3888 阅读 · 29 评论 -
联邦学习(二):卷积神经网络通过底层 API 实现 FedAvg 联邦算法
代码实现1、导入需要的库import collectionsimport numpy as npimport tensorflow as tfimport tensorflow_federated as tffimport nest_asyncionest_asyncio.apply()tff.framework.set_default_context(tff.test.ReferenceExecutor()) # 防止 RuntimeError 问题2、导入并处理数据mnis原创 2021-04-20 12:48:15 · 1230 阅读 · 11 评论 -
tf.nest.map_structure() vs map()
使用map() 与 nest.map_structure() 的区别及用法中的一个例子:def a(x): return x**2map_ob = map(a,[1,2,3])b = list(map(a,[1,2,3]))c = tf.nest.map_structure(a,[1,2,3])print('b',b,'\nc',c)print('map_ob_type',type(map_ob))print('b_type',type(b))print('c_type',typ原创 2021-04-18 20:55:27 · 562 阅读 · 0 评论 -
collections 相关函数说明
Python中通过Key访问字典,当Key不存在时,会引发‘KeyError’异常,如下所示:s=[('yellow',1),('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]d=dict()for k, v in s: d[k].append(v)print(d)KeyError: 'yellow'为了避免这种情况的发生,可以使用collections类中的defaultdict()方法来为字典提供默认值。s=[('yello原创 2021-04-18 20:10:37 · 321 阅读 · 0 评论 -
Tensorflow2.0 实现DAN和JAN中的损失函数
项目说明在 2015 年的文章 Learning Transferable Features with Deep Adaptation Networks (DAN) 和 2016 年的文章 Deep Transfer Learning with Joint Adaptation Networks (JAN) 中作者利用 MK-MMD 分别提出了两种损失函数(以下简称为 DAN_loss 和 JAN_loss)。在开源的源代码中,作者使用 Pytorch 编写了这两个函数,这里我们将使用 Tensorflo原创 2021-04-06 09:10:51 · 1277 阅读 · 2 评论 -
Tensorflow2.0 用 tf.keras.applacations 迁移学习时如何在导入 imagenet 权重的同时保留分类层
项目说明在 Tensorflow2.0之tf.keras.applacations迁移学习 一文中,我们演示了如何将迁移学习层和自定义的分类层结合起来使用,但这里有个问题,就是当你再次打印结合后的模型的每层的名称时,会出现如下情况:import tensorflow as tfmobile = tf.keras.applications.MobileNet(include_top=False, weights='imagenet', input_shape=(224, 224, 3))mobile原创 2021-02-03 12:49:24 · 594 阅读 · 0 评论 -
matplotlib 绘制三维散点图
项目介绍在撰写论文时常常会用到 matplotlib 来绘制三维散点图,如下所示:代码实现plt.figure(figsize=(8,6)) # 设置画布大小ax = plt.axes(projection='3d') # 设置三维轴ax.scatter3D(X, Y, Z) # 三个数组对应三个维度(三个数组中的数一一对应)plt.xticks(range(11)) # 设置 x 轴坐标plt.rcParams.update({'font.family': 'Times New R原创 2020-12-09 15:01:21 · 11475 阅读 · 1 评论 -
Matplotlib 之绘制带误差棒的双柱状图
项目介绍在做分类问题的实验对比时,常常需要在一张图内绘制两个模型在各个类别上的分类准确率,如下图所示:代码实现import matplotlib.pyplot as pltimport numpy as npsize = 10 # 类别个数y1 = [98.96, 98.1, 97.2, 99.2, 99.5, 97.4, 96.7, 98.9, 99.25, 98.6] # 模型1在每个类别上的准确率y2 = [100, 99.8, 100, 100, 100, 100, 99.9,原创 2020-11-13 21:34:26 · 1480 阅读 · 0 评论 -
基于帕累托的多目标遗传算法优化的原理与 Python 实现
文章目录帕累托多目标遗传算法代码实现排序函数查找所需索引函数Pareto 法得到帕累托前沿函数拥挤度计算从父代和子代中选择下一个父代帕累托多目标遗传算法在优化领域,遗传算法绝对占得上一席之地,但由于在染色体选择阶段,俄罗斯轮盘赌法常被使用,因此遗传算法主要被用来解决单优化问题。对于多目标优化问题,我们常常不知道如何判断两个解孰优孰劣从而难以在遗传算法的选择阶段进行合适的选择,帕累托优化应运而生解决了这一问题。首先,需要对一下概念进行说明:支配、非支配:当A所有目标都优于B时,就说A支配了B,否原创 2020-11-02 19:35:51 · 4778 阅读 · 4 评论 -
Tensorflow2.0 之深度残差收缩网络 (DRSN)
文章目录DRSN 原理残差网络自注意力网络软阈值化代码实现DRSN 原理DRSN 由三部分组成:残差网络、自注意力网络和软阈值化。残差网络残差网络(或称深度残差网络、深度残差学习,英文ResNet)属于一种卷积神经网络。相较于普通的卷积神经网络,残差网络采用了跨层恒等连接,以减轻卷积神经网络的训练难度。其具体说明可以参考文章:Tensorflow2.0之自定义ResNet。自注意力网络在 DRSN 中,SE 模块被选用作为自注意力机制中的主要部分。它可以通过一个小型的子网络,自动学习得到一组权重原创 2020-11-02 17:11:34 · 6513 阅读 · 18 评论 -
Matplotlib+Scipy 实现拟合曲线绘制
文章目录项目说明项目实现1、Scipy 拟合曲线2、Matplotlib 绘制图像项目说明我们需要绘制下面这张图片,现在有的数据是图上10个点的坐标。项目实现1、Scipy 拟合曲线import matplotlib.pyplot as pltimport numpy as npfrom scipy import interpolateO1 = [2, 3, 3, 4, 4, 5, 5, 5, 6.5, 4.5, 5.5]O2 = [7.5, 6, 7.5, 5, 6.5, 4.5,原创 2020-11-02 16:27:48 · 1749 阅读 · 0 评论 -
Matplotlib 之设置绘图/子图字体
项目说明在做项目时我们难免要绘制各种各样的图,一般我们需要将图中的字母设置为 ‘Times New Roman’ 字体,对字号也是有要求的。在此文章中,我们以绘制 Sigmoid 和 Tanh 两个激活函数为例讲解绘图/子图时字体的设置。方法一(单图)import matplotlib.pyplot as pltimport numpy as npx = np.arange(-5, 5, 0.001) # 横坐标Sigmoid = 1/(1+np.exp(-x)) # Sigmoidp原创 2020-11-02 15:21:26 · 1566 阅读 · 0 评论 -
Python 在图片上绘制某部分的缩略图
在写论文时,在我们绘制的实验结果图中经常需要放大某一部分来起到强调的作用,这时,缩略图的使用就变得尤为重要了。原创 2020-08-22 15:16:49 · 628 阅读 · 0 评论 -
用 python 合并不同传感器返回的轴承信号小波变换时频图
在用深度学习对故障信号进行分类时,有时我们是通过时频图作为神经网络的输入的。另外,通常来说在一个实验中会安放超过一个传感器输出信号,那么如何从几段信号中利用小波变换输出几个不同的时频图、合并这些图片并把所有合并的图片保存起来制作数据集将是我们的第一步任务。原创 2020-08-18 13:08:33 · 2179 阅读 · 18 评论 -
使用 Python 从故障轴承振动信号序列判断故障出现时间
从故障轴承振动信号序列判断故障出现时间原创 2020-08-05 16:54:08 · 6419 阅读 · 37 评论 -
将自己的图片数据集分成训练集和测试集并用 Tensorflow2.0 导入
在下载完一个数据集后,很多朋友会为如何划分出训练集、验证集和测试集而烦恼,这篇文章将详细介绍如何划分数据集并将其用于模型训练。原创 2020-07-18 01:25:02 · 5918 阅读 · 5 评论 -
Tensorflow2.0 之开启 GPU 模式
GPU 的使用以及与 CPU 的对比原创 2020-07-06 11:40:52 · 16159 阅读 · 4 评论 -
用 Opencv 做一件“隐身衣”
文章目录项目介绍实现步骤代码说明1、导入需要的库2、定义绘图函数3、导入前景图片和背景图片4、对两张图片进行水平(镜像)翻转5、将前景图片从 BGR 转换到 HSV 空间6、检测红色区域7、处理红色区域8、融合前景和背景完整代码参考资料项目介绍在这个项目中,我们会使用 Opencv 来将红色物体变成透明状,以此来达到隐身效果,如下面这张动图所示:实现步骤找到一个只含有背景的帧;检测红色物体的位置;将红色区域用背景中的相同区域代替。代码说明我们先用下面这两张图片(前者为背景,后者为前景)原创 2020-07-03 16:31:27 · 667 阅读 · 0 评论 -
使用 OpenCV 将单通道图片转化成多通道图片
项目介绍将一个文件夹下的所有单通道图片转换成每个通道像素值相同的三通道图片。代码实现PATH = r'E:\code\train'image = []for dirname, _, _ in os.walk(PATH): # 遍历 PATH 路径下所有文件夹的路径 if dirname != PATH: # 除去返回的 PATH 文件夹 for each_dirname, _, filename in os.walk(dirname): # each_dirname原创 2020-06-21 13:26:08 · 3289 阅读 · 0 评论 -
Tensorflow2.0 对自己的图片数据集进行分类
这是一套完整的使用自己的图片数据集进行训练的模板文件。原创 2020-06-21 12:51:45 · 5147 阅读 · 25 评论 -
OpenCV+Python 让你的朋友出现在《法制进行时》
恶搞朋友的照片,让他们在《法制进行时》露个脸吧!!!原创 2020-06-19 23:37:51 · 352 阅读 · 0 评论 -
用 Python 把你的朋友变成表情包(鼠标事件提取 ROI 版)
在《用 Python 把你的朋友变成表情包》一文中,我们已经实现了朋友到表情包的友好转换。因为有些朋友给我留言觉得在第八个步骤(将一些不需要的黑色区域删除掉)中选定区域那里过于繁琐了,所以在这篇文章的代码中,我们将这一步用调用鼠标事件的方式实现这一步。原创 2020-06-19 21:53:21 · 473 阅读 · 0 评论 -
基于 OpenCV 的车辆检测系统
文章目录项目介绍实现流程代码项目介绍通过此车辆检测系统,我们可以实时判断某时刻内通过摄像头某一区域内的车辆数,如下图所示:实现流程1、提取出一段视频中的每一帧图像;2、使用帧差分技术检测车辆目标;3、图像预处理:3.1 对图像应用阈值处理;3.2 图像膨胀;4、选择车辆检测区域(ROI);5、在 ROI 中寻找车辆轮廓;6、将轮廓绘制到原始帧上得到含有轮廓的每一帧;7、将得到的所有帧合成视频。代码import osimport reimport cv2impor原创 2020-06-18 21:58:15 · 4621 阅读 · 2 评论 -
办公提效MAX:在Word和Excel之间轻松游走的表格!
此文章以教师名单 Word 文档举例,用 Python 程序而非手动地将 Word 中的表格写入 Excel 中。原创 2020-05-25 19:14:32 · 648 阅读 · 0 评论 -
用 Python 把你的朋友变成表情包
文章目录项目说明实现步骤Python 实现1、导入需要的库2、绘图函数3、导入前景照片4、等比例缩放前景照片5、对前景照片进行二值化处理6、提取出感兴趣区域7、旋转图片8、将一些不需要的黑色区域删除掉9、导入背景图片10、组合两张图片成表情包11、在表情包下面添加文本11.1 添加英文文本11.2 添加中文文本12、保存表情包完整代码项目说明在日常生活中,我们经常会存取一些朋友们的丑照,在这个项目中,我们以萌萌哒的熊猫头作为背景,然后试着在背景图上加入朋友们的照片。效果如下图所示: 实现步骤原创 2020-05-23 19:03:43 · 13062 阅读 · 32 评论 -
用 sklearn.utils.shuffle 来打乱样本顺序
直接举例说明:import sklearnX = np.array([[1, 2], [3, 4], [5, 6]])Y = np.array([[1], [2], [3]])print(X)print(Y)[[1 2] [3 4] [5 6]][[1] [2] [3]]x, y = sklearn.utils.shuffle(X, Y)print(x)print(...原创 2020-04-16 10:49:10 · 7972 阅读 · 1 评论 -
Tensorflow2.0之基于注意力的神经机器翻译
文章目录代码实现1、处理数据集1.1 导入需要的库1.2 下载文件1.3 处理法语中的重音1.4 处理ascii文本1.5 返回单词对1.6 生成文档词典1.7 加载数据集1.8 计算目标张量的最大长度1.9 划分训练集和测试集1.10 将数字向量转化为文本1.11 创建一个 tf.data 数据集2、编写模型2.1 编码器2.2 Bahdanau 注意力2.3 解码器3、定义优化器和损失函数4、...原创 2020-04-09 23:49:37 · 2963 阅读 · 5 评论 -
粒子群算法求解最大值问题详解(附python代码)
文章目录粒子群算法(PSO)代码实现1、导入需要的库2、设置参数3、适应度函数4、初始化粒子群5、迭代更新粒子群粒子群算法(PSO)PSO 通过模拟鸟群的捕食行为来求取最优解。假设一群鸟在随机搜索食物。在这个区域里只有一块食物(对应着最优解)。所有的鸟都不知道食物的具体位置,但是它们可以判断自身与食物的大致距离,即通过 fit 值判断与最优解的距离。那么找到食物的最优策略就是搜寻目前离食物最...原创 2020-04-03 14:45:12 · 4958 阅读 · 0 评论 -
python 复制列表的六种方法
以下是对列表的六种复制方式,总结来说在复制时有三种原理,其中 l1l1l1 是一种,l6l6l6 是第二种,其他的四个方法属于第三种。import copyl = [1, 2, [3, 4]]l1 = ll2 = l.copy()l3 = l[:]l4 = list(l)l5 = copy.copy(l)l6 = copy.deepcopy(l)我们可以先来打印它们的地址:p...原创 2020-04-02 15:01:59 · 8152 阅读 · 1 评论 -
python批量爬取小说(一步一步实现,适合新手入门)
1、下载小说的一个章节让我们首先打开书趣阁网站中的一个小说中的一个章节,如图:然后我们开始请求网页数据:response = requests.get('http://www.shuquge.com/txt/63542/9645082.html')# 自动解决编码问题response.encoding = response.apparent_encoding使用 parsel 库对...原创 2020-03-27 18:32:24 · 4794 阅读 · 0 评论 -
深度学习中从梯度下降到 Adam 的优化方法进化史(含相关函数编写)
文章目录优化与深度学习梯度下降随机梯度下降小批量随机梯度下降动量法梯度下降的问题指数加权移动平均由指数加权移动平均理解动量法优化与深度学习在一个深度学习问题中,我们通常会预先定义一个损失函数。有了损失函数以后,我们就可以使用优化算法试图将其最小化。在优化中,这样的损失函数通常被称作优化问题的目标函数(objective function)。依据惯例,优化算法通常只考虑最小化目标函数。其实,任何...原创 2020-03-24 15:01:43 · 942 阅读 · 0 评论 -
Jupyter中清理一个代码块的输出
首先引入库:import IPython.display as display然后在要清理输出的代码块中执行:display.clear_output(wait=True)原创 2020-03-05 23:47:07 · 2895 阅读 · 0 评论 -
Python批量从文件夹中读取图片
导入必要的库from PIL import Imageimport numpy as np先导入一张图片X_train = Image.open(r'.\faces\00b34e16b0270e43d2e6591bcadb2eaf-0.jpg')X_train = X_train.resize((64,64),Image.ANTIALIAS)X_train = np.array(X_...原创 2020-03-05 14:28:49 · 11093 阅读 · 2 评论 -
Python中的iter()、next()、repeat()和iter.get_next()
通过一个例子进行说明。array = np.array([1, 2, 3, 4, 5])it = iter(array)此时相当于建立了一个迭代器it,当调用it中的数时,需要使用next()函数,即:next(it)连续执行该条语句5次,结果分别为1,2,3,4,5,如果再执行一次,则会报错,如下:StopIteration ...原创 2020-03-04 12:39:31 · 2728 阅读 · 0 评论 -
机器学习--sklearn之支持向量机(SVM)
SVM是一个非常经典的监督学习算法。下面给出SVM对于二值分类的原理及推导过程。1、问题转化如下图所示:想要找一条直线wx+b=0wx+b=0wx+b=0将图中红蓝两类样本区分开,假设将这条线向左和向右分别平移,接触到样本点停止,得到两条新的直线,设它们分别为wx+b=c wx+b=c\;wx+b=c和wx+b=−cwx+b=-cwx+b=−c。令w=wc,b=bcw=\frac{w}{...原创 2019-12-05 20:21:07 · 1864 阅读 · 0 评论 -
机器学习--sklearn之逻辑回归
目录线性回归Sigmoid函数逻辑回归逻辑回归的损失函数正则化L1正则化L2正则化L1正则化和L2正则化的区别梯度下降法梯度下降法的代数方式描述先决条件算法相关参数初始化算法过程梯度下降法的矩阵方式描述先决条件算法相关参数初始化算法过程梯度下降法分类批量梯度下降法BGD随机梯度下降法SGD小批量梯度下降法MBGD总结梯度下降的算法调优python中实现逻辑回归线性回归提到逻辑回归我们不得不提一...原创 2020-02-15 17:57:25 · 2069 阅读 · 0 评论 -
机器学习--sklearn之k均值聚类
什么是簇?简单来说,簇就是分类结果中的类,但实际上簇并没有明确的定义,并且簇的划分没有客观标准,我们可以利用下图来理解什么是簇。该图显示了20个点和将它们划分成簇的3种不同方法。标记的形状指示簇的隶属关系。下图分别将数据划分成两部分、四部分和六部分。将2个较大的簇每一个都划分成3个子簇可能是人的视觉系统造成的假象。此外,说这些点形成4个簇可能也不无道理。该图表明簇的定义是不精确的,而好的定义依赖...原创 2020-02-15 13:42:51 · 1309 阅读 · 0 评论