- 博客(59)
- 收藏
- 关注
原创 基于中心对齐的领域泛化损失
class Center_loss(nn.Module): def __init__(self,src_class): super(Center_loss, self).__init__() self.n_class=src_class self.MSELoss = nn.MSELoss() # (x-y)^2 self.MSELoss = self.MSELoss.cuda() def forward(self,
2021-10-26 16:59:29
427
原创 Metric learning
一:减小类内距离,增大类间距离class Metric_loss(nn.Module): def __init__(self,src_class): super(Metric_loss, self).__init__() self.n_class=src_class def forward(self, s_feature,s_labels): n, d = s_feature.shape # get labels
2021-10-26 16:58:12
620
1
原创 基于统计对齐的域适应方法(MMD,CMMD,CORAL,Wasserstein distance )
一:Maximum mean discrepancy (MMD)def mmd_rbf_noaccelerate(source, target, kernel_mul=2.0, kernel_num=5, fix_sigma=None): batch_size = int(source.size()[0]) kernels = guassian_kernel(source, target, kernel_mul=kernel_mu
2021-10-26 16:53:56
5422
8
原创 wasserstein 距离(原理+Pytorch 代码实现)
1.原理1.1 原论文最初应用在生成模型上《Wasserstein GAN》: https://arxiv.org/abs/1701.078751.2 全面介绍https://zhuanlan.zhihu.com/p/250719131.3 优点Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。2.代码import torchimport torch.nn as nn# Adapted from h
2021-08-09 19:57:44
14451
6
原创 Python-振动信号加入噪声-代码实现
1. 原理2.代码def wgn(x, snr): ## x: input vibration signal shape (a,b); a:samples number; b samples length ## snr: noise intensity,like -8,4,2,0,2,4,8 ### snr=0 means noise equal to vibration signal ### snr>0 means vibration signal stron
2021-08-08 11:40:36
2264
1
原创 Writing in the science- Unit 6
6.1 抄袭切割或者复制句子或段落从别人轻微的重新排列别人的单词从维基百科处借来材料当写别人的工作时足够理解别人的工作,用自己的话说work from memory得出你自己的结论不要模仿作者原始的句子和结构自我抄袭和复制复制或者轻微改动之前已经出版的论文在已经出版论文的数据中加入新的数据作为新的结果一稿多投6.2 投稿过程决定投稿的期刊(询问老师或者高年级同学)遵从 instrution在线提交草稿Response to reviewers保持礼貌逐
2020-12-23 20:33:12
261
1
原创 机器学习-超参数搜索
模型中除了在训练中自己更新的参数,需要在预先设置的参数称为超参数。大概有如下:bachsize,epoch,learniing rate,…四种主要策略可用于搜索最佳配置:1.Babysitting,又名试错(Trial & Error)2.网格搜索(Grid Search)3.随机搜索(Random Search)4.贝叶斯优化(Bayesian Optimization)1...
2020-12-21 15:23:29
455
原创 Writing in the science- Unit 5笔记
5.1 前引1.把整篇文章分割成小块,并且设置一个可达成的目标2.论文的推荐写作顺序:图和表;结果;方法;介绍;讨论;摘要5.2 图和表1.每个图和表应该有一个清晰的点,并且足够讲述一个故事2.把图和表做的更加规范更加职业!!!3.使用尽可能少的图和表来讲一个故事4.不要在图和表中呈现同一个数据5.图的作用:视觉影响;显示趋势和模式;快捷的讲一个完整的故事;高亮特殊的结果6.表的作用:给出精确的值;给出大量的值7.表题:总结出表的主题;使用与表中行名,列名,文章中相同的关键词;保持简捷;
2020-12-21 15:12:53
242
转载 麻省理工学院(MIT)研究生学习指导—— 怎样做研究生
这是什么?并没有什么神丹妙药可以保证在研究中取得成功,本文只是列举了一些可能会对研究有所帮助的非正式意见。目标读者是谁?本文主要是为新入学的研究生而写。如何使用?要精读完本文,太长了一些,最好是采用浏览的方式。很多人觉得下面的方法很有效:先快速通读一遍,然后选取其中与自己当前研究项目有关的部分仔细研究。本文被粗略地分为两部分。第一部分涉及研究者所需具备的各种技能:如阅读,写作和程序设计等等。第二部分讨论研究过程本身:即研究究竟是怎么回事,如何做研究,如何选题和选导师,如何考虑研究中的情感因素。很
2020-12-20 11:09:38
748
1
原创 Writing in the science- Unit 4笔记
4.1 写作流程1.预备工作 (70%的时间)收集,规划信息想Idea 远离计算机发展一个大纲2.写第一版草稿(10%的时间)把实验数据和想法都写下来3.修正(20%的时间)大声朗读草稿去除冗余进行动词检查从他人取得反馈4.2 预备工作1.首先组织不要尝试同时进行写作和收集信息收集并组织信息在写第一版草稿之前2.组织你的想法建立一个组织信息的框架,更多时间用于组织信息,更少的时间用于写作把关键的信息和引用文献写进原始的框架中 思考段落和句子4.3 修
2020-12-18 20:57:54
196
1
原创 Writing in the science- Unit 3笔记
3.1 使用停顿dash (破折号 -)colon(冒号 :)semicolon(分号 ;)parenthesis(括号() )目的:丰富句子结构3.2.分离的强度(递增)CommaColon :介绍列表,解释,总结等Dash :强调,或解释,注意不要滥用Parentheses :插入单词,句子来解释说明Semicolon :连接两个独立的子句Period3.3并列并列的概念用AND, OR , BUT 应该写成并列的格式句式要一致(noun,noun,noun)3.
2020-12-17 20:37:36
207
原创 Writing in the science- Unit 2笔记
2.1使用主动语态主动语态更生动,更容易阅读大胆使用 WE,I避免频繁使用WE,I2.2什么时候可以使用被动语态?在方法的章节What was done is more important than who did it!Readers tend to skim the methods section for key words rather than reading it as prose.May be more effort than it’s worth to avoid us
2020-12-11 17:05:35
241
原创 Writing in the science- Unit 1笔记
1. 1什么是好的写作?清晰 且 有效 的 交流观点 (需要言之有物且清楚的逻辑)优雅 且 独具风格 (需要大量时间,反复修改,以及一个好的编辑)1.2 如何成为一个好的作者有东西可以说逻辑思考一些简单的规则1.3成为优秀作者的步骤阅读,专注和模仿养成学术写作的习惯谈论你的研究在写之前以吸引你的读者的方式写作接受写作对任何人都是很困难这个事实修改,没有人可以一次完成论文学会删去冗余1.4 问自己的问题这些句子是否容易理解?这些句子是让
2020-11-18 13:05:23
246
1
原创 python-科研绘图系列(7)-箱型图(盒型图)
1.箱型图绘制import numpy as npimport pandas as pdimport matplotlib.pyplot as plt####载入数据data=pd.read_excel('XXX')data=np.array(data)data_CWRU = { 'XXX': data[0,:], 'ZZZZ': data[1,:], 'TTTT': data[2,:],}########设置箱型具体属性color = {'bo
2020-10-19 13:21:03
1228
1
原创 python-科研绘图系列(6)-深度模型准确率,误差收敛曲线图;双坐标绘图;双坐标图例放置在一个框中;带95%置信区间的曲线图
1.绘制双坐标import matplotlib.pyplot as pltimport numpy as npimport refrom scipy import statsax1=fig.add_subplot(1,1, iii)lns1=ax1.plot(mean[:long], color='darkblue', linewidth=2, linestyle='-',label='ZZZZ Acc')##画准确率曲线ax2=ax1.twinx()lns4=ax2.plot(m
2020-10-19 13:20:54
5609
2
原创 python-科研绘图系列(5)-用TSNE降维并可视化
1. 用TSNE 降维import numpy as npimport matplotlib.pyplot as pltfrom sklearn import manifoldimport pickleimport timeimport pandas as pddef visual(X): tsne = manifold.TSNE(n_components=2,init='pca', random_state=501) X_tsne = tsne.fit_transfor
2020-10-18 18:57:35
10452
1
原创 python-科研绘图系列(4)-混淆矩阵图
1. 计算混淆矩阵from sklearn.metrics import confusion_matrix # 导入计算混淆矩阵的包C1= confusion_matrix(True_label, T_predict1) #True_label 真实标签 shape=(n,1);T_predict1 预测标签 shape=(n,1)2. 用seaborn的热力图画混淆矩阵图import seaborn as sns #导入包xtick=['1','2','3','4','5','6','7'
2020-10-18 18:37:17
13771
1
原创 python-科研绘图系列(3)-雷达图
1. 前置文件-radar1mport numpy as npimport matplotlib.pyplot as pltfrom matplotlib.path import Pathfrom matplotlib.spines import Spinefrom matplotlib.projections.polar import PolarAxesfrom matplotlib.projections import register_projectiondef radar_fac
2020-10-18 18:23:21
1547
原创 python-科研绘图系列(2)-等高线图
1. 绘制等高线图import numpy as npimport matplotlib.pyplot as plt###########登高线图############fig=plt.figure(figsize=(14,10)) #设置图幅x = np.linspace(0, 1, 6)#设置横坐标网格y = np.linspace(0, 1, 6)#生成纵坐标网格X, Y = np.meshgrid(x, y)# 生成网格a=np.random.random((6,6))# 随机生成矩
2020-10-18 18:08:34
1598
原创 python-科研绘图系列(1)-带误差线的柱状图
1.带误差线的柱状图import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfig=plt.figure(figsize=(10,10)) #添加绘图框data=pd.read_excel() #读取数据index = np.arange(6)*2.5 ###设置索引,控制不同柱之间的距离用于后面的画柱状图################关键代码行###################plt.bar(in
2020-10-18 17:56:30
10468
原创 python 将图例画在图外;调整图例中各列的间距;调整图例中图像的大小;图例标记和标签之间的距离
python 论文图调整1.将图例放在图外plt.legend(scatterpoints=1,labels = Label_Com, labelspacing=0.4,columnspacing=0.4,markerscale=2,bbox_to_anchor=(0.9, 0),ncol=12,prop=font1,handletextpad=0.1)bbox_to_anchor=(0.9, 0) 通过调节此参数放置图例,(0.9,0) 分别是横向相对位置和纵向相对位置2.调整图例中各列的间
2020-10-18 17:04:50
14696
3
原创 python 热力图调整热力棒的刻度大小;不同颜色风格
1. 调整colorbar(热力棒)的字体大小h=sns.heatmap(C1,fmt='g', cmap=name,annot=True,cbar=False) #画热力图,设置cbar=Falesecb=h.figure.colorbar(h.collections[0]) #显示colorbarcb.ax.tick_params(labelsize=size) #设置colorbar刻度字体大小。2:通过cmap 调整颜色风格所有的颜色风格链接:https://blog.csdn.n
2020-10-18 16:50:56
10111
2
原创 python画混淆矩阵图
1. 计算混淆矩阵from sklearn.metrics import confusion_matrix # 导入计算混淆矩阵的包C1= confusion_matrix(True_label, T_predict1) #True_label 真实标签 shape=(n,1);T_predict1 预测标签 shape=(n,1)2. 用seaborn的热力图画混淆矩阵图import seaborn as sns #导入包xtick=['1','2','3','4','5','6','7'
2020-10-18 16:33:27
3931
2
原创 python画图 去除横纵坐标值;设置横纵坐标名称;设置坐标轴刻度大小
1.去除横纵坐标值plt.xticks([]) # 去掉横坐标值plt.yticks([]) # 去掉纵坐标值2.设置横纵坐标名称ax1.set_xlabel('Output class',fontsize=24) #设置x轴名称ax1.set_ylabel('Target class',fontsize=24) #设置y轴名称3.设置坐标轴刻度大小plt.tick_params(labelsize=14)...
2020-10-18 16:16:04
15061
1
原创 python添加子图,调整子图间位置
1.设置画框fig = plt.figure(figsize=(30,20))#figsize 可以调整画框大小2. 添加子图ax1 = fig.add_subplot(231) # 231 表示 2 行 3列的子图集,这是第一张图, ax1 代表第一张子图的属性3.调整子图位置,子图之间位置间距plt.subplots_adjust(left=None, bottom=0.15, right=None, top=None, wspace=0.1, hspace=0.15)#wspace 子图
2020-10-18 16:09:22
7229
原创 Pandas 去除含有特定字符的行
Way 1:data = data[data['1#除尘器烟气分析仪烟气湿度'].str.contains('B') == False]Way 2:data=data[~data['1#除尘器烟气分析仪烟气湿度'].str.contains('B')]
2020-09-04 16:40:54
1988
原创 Python 日期提取
from datetime import datetime# datatime.strptime 将字符串转换为日期格式#datetime.strftime 将返回以可读字符串表示的当地时间a = '2020-05-08 10:55:00'year = datetime.strptime(a, '%Y-%m-%d %H:%M:%S').strftime('%Y')month = datetime.strptime(a, '%Y-%m-%d %H:%M:%S').strftime('%m')day
2020-09-04 16:15:41
699
原创 寻找两个列表中不同的元素
listA=[ ]listB=[ ]# set() 函数创建一个无序不重复元素集retD = list(set(listB).difference(set(listA)))print ('---------差集方法--------')print ('retD:%s' % retD)
2020-09-04 16:04:51
456
原创 python 读取图像的方式,改变图像像素尺寸的大小,将RGB 图像转换为灰度图
一.python 读取图像的方式1.用PIL 包读取,读取以后的数据格式为 image,不是Numpy ,所以需要转换为Numpyfrom PIL import Imageimport numpy as nppath1 =‘’data1 = Image.open(path1)data_after=np.array(data1)2. 利用matplotlib.pyplot as plt用于显示图片import matplotlib.pyplot as plt import matplot
2020-07-27 11:11:55
3840
原创 PyTorch 保存训练好的模型以及载入训练好的模型
1.保存模型 PATH = savename #模型参数保存的地址 torch.save(model.state_dict(), PATH) 2.载入模型PATH = ‘somewhere’model.load_state_dict(torch.load(PATH))
2020-07-26 15:04:34
1219
原创 argparse.ArgumentParser()用法解析
argparse是一个Python模块:命令行选项、参数和子命令解析器argparse模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数。然后argparser将弄清是在深度学习中管理超参数的好办法1.首先创建解析器parser = argparse.ArgumentParser(description='PyTorch MNIST Example') # 创建对象2.添加参数parser.add_argument('--batch-size', type=int, defaul
2020-07-26 14:29:36
3981
1
原创 python 图像归一化和数据通道改变
对图像进行归一化对神经网络的训练有利,将图像像素从0-255 转换为0-1 可以通过除以255 得到对于不同的深度学习框架,对于图像通道的要求不同,可以通过 transpose 这个方法例如 data 原本的shape 是7(200,224,224,3) 原来的索引是(0,1,2,3)data = data.transpose(0, 3, 1, 2)# 转换索引顺序转换以后的shape 即为(7200,3,224,224)...
2020-07-26 14:13:13
1818
原创 固定住深度模型训练中的所有随机种子
1.为了进行论文复现,或者进行模型的改进,固定住随机种子十分必要,不然所作的改进的提升效果无从知晓,以下代码可以确保每次训练的过程一摸一样def seed_torch(seed=42): seed = int(seed) random.seed(seed) os.environ['PYTHONHASHSEED'] = str(seed) np.random.seed(seed) torch.manual_seed(seed) torch.cuda.manua
2020-07-26 14:04:32
4080
1
原创 封装自己的pytorch数据集
1. pytorch 对于数据的标签要求是长整形,因此要对标签进行转换train_label = train_label.long()2.对于数据的特征部分,要转换为tensor 形式,可以通过torch.tensor 将数据从numpy 转为tensortrain_fea = torch.tensor(train_fea, dtype=torch.float32)3.封装数据data = torch.utils.data.TensorDataset(train_fea, train_labe
2020-07-26 13:48:33
1650
原创 linux 出现如下错误:syntax error near unexpected token `)'
这个错误是你的文件中带有了括号,所以需要转译。有如下两个转译方式;1.在括号前加\sz 68fsst(1)6.pkl2.用双引号括起来sz “68fsst(1)6.pkl”
2020-04-20 14:31:10
849
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人