自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 js nextTick和生命周期

之前对dom更新的事件循环有点模糊,今天总结一下,这里只提几个比较重要的生命周期函数:dom产生分为初始化和更新阶段:初始化可以理解为是特殊的更新,dom更新并不是直接更新,而是把待更新的结点放入事件队列中,然后等待至一定时间,取出队列中的结点,一一更新,这样的一次循环就是一次tick;最后这些结点是否更新是通过watch监听的,以及diff算法(这个我暂时也没看过)created: 组件创建完就执行该回调函数,但是这个时候并没有执行dom的渲染,也获取不到子组件和dom的任何信息,如果有数据更新或.

2021-07-03 12:57:44 2294

原创 使用Keras的记录

我一般常用的是PyTorch,但是也会用Keras。这里记录一下Keras中的一些使用细节。1.model对象有个fit方法,fit方法里的参数是这样的:fit(x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, init

2020-08-13 10:25:43 286 2

原创 C++ static声明与类作用域

主要是分清类定义中static, static const, const以及普通成员一、staticstatic声明的变量是全局静态存储的,而类定义中的变量(函数是共有的,数据是各自内存的)是独立的类作用域的,比如类Fruit的两个对象apple和pear,他们内部的数据成员color都是各自的内存的,所以apple.color和pear.color是互不影响的,那么类在定义的过程中分配了内存吗?class A{ //static const int x=3;//public://pri

2020-07-27 13:30:47 527

原创 C++拷贝继承中的构造函数

#include <iostream>using namespace std;class A{public: int x; A(){} A(A &a) { this->x = a.x; cout<<"Copy A";}};class B:public A{public: int y; B(){} //B(B &b):A(b) //{

2020-07-16 16:49:07 780

原创 Colab中matplotlib包作图如何显示中文

首先导入中文系统文件from google.colab import filesfiles.upload()import matplotlib.pyplot as pltimport matplotlib as mplzhfont = mpl.font_manager.FontProperties(fname='chinese.simhei.ttf')plt.figure()plt.plot(range(10),range(10),label="你好啊")plt.xlabel(u"x轴

2020-07-07 21:06:23 2878 3

原创 linux裸机安装经验

由于我拿到的是已经下载好了Centos 7的U盘,所以直接用该U盘在裸机上安装设备:DellR740如果没有将设备改为U盘可启动项,需要在bios中设置,开机时,在左上角看到System Setup(F2),进入,找到boot squence相关选项,选择UEF1,并且Genetic USB Boot 设置为enable即可,保存。(这一步在R740中已经省去,因为U盘启动已经开启)重新开机:在左上角看到Boot Manager(F11)进入:选择One-shot:多种启动方式,选择Genetic

2020-06-29 22:44:59 1518

原创 生信学习——转录组测序分析的大致流程

如果想要从最原始的测序结果开始分析,如何分析?转录组测序的分析流程大致可以分成三类,包括基因组比对( Genome mapping )、转录组比对(Transcriptome mapping)、转录组组装(Reference-free assembly)有大牛写的很好:聊聊转录组测序——2.数据分析与解读(上)原始数据一般下载得到的是Fastq文件格式:每一条序列(read)包含四行,第一行是read的ID,第二行是序列,第四行是序列中每个碱基的测序质量但是由于有的reads测序质量较低,可能需要去

2020-06-28 16:32:11 6369

原创 生信学习——TGCA数据库的命名原则

在TGCA数据库中一个患者至多对应两个样本,但在原始选区的时候,一共是有多个样本可以选取的,从这多个样本中选取阴性(癌旁组织)和阳性(癌组织)最好的那个,当然,如果只有阳性或阴性的话,那么至多只有1个样本。如:TGCA-A6-6650-01A-11R-1174-07TGCA-A6-6650-01A-11R-A278-07TGCA-A6-6650-01B-02R-A277-07一般我们只能看到前4组数字,即TGCA-A6-6650-01A,也就是另外2个样本被舍弃了,舍弃原则:TGCA-Projec

2020-06-28 10:26:35 877

原创 Pandas与plot

Pandas的DtaFrame和Seies都有plot方法:该Series对象的索引会被传给matplotlib,并用以绘制X轴。可以通过use_index=False禁用该功能,如下禁用use_index选项效果:相应的dataframe也是这样的方式:这里提2个常用的参数:ax和kind,还有stackax比较简单,就是和子图相关的,,只要把一个子图对象赋值给该参数后,就可以在该子图上作图kind几个常用的取值:kde:概率密度图,多用于查看连续型变量的分布情况line:也是多用于连续

2020-06-23 17:26:09 450

原创 python可hash类型和不可hash类型

python字典与hashable的关系最近在写代码的时候发现了一个问题:我有一系列的元组(实际上是强化学习的state和action),它们要作为字典的键,而值是reward,我以前一直认为只有字符串才能作为键,然后就用str()函数将元组转化成string类型,后来要画图,又要得到字典的键,得到的是带有元组括号的一些杂七杂八的东西。。。后来才想起来不可变类型都是可散列的,都可以作为键。。。然后就好好的写一下这个可hash背后原因,因为数据结构散列寻址法忘了好多。python是动态类型语言,它在初

2020-06-03 23:56:26 1454 2

原创 python的os模块几个概念

一、os.path.join()函数首先是在windows下运行的程序,所以会默认添加"\n"分隔符os.path.join()函数:连接两个或更多的路径名组件,它的参数可以是多个字符串1.如果各组件名首字母不包含’/’,则函数会自动加上2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃3.如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾path1 = os.path.join("Hello","World","ccc")#自动加上分隔符print(path1)pat

2020-05-30 23:34:14 85

原创 Pytorch和Keras如何保存模型

一、Pytorch保存模型1.只保存参数及其加载:torch.save(model.state_dict(),path)再次加载:torch.load_state_dict(torch.load(path))model.eval()2.保存整个model及加载:torch.save(model,path)再次加载:model = torch.load(path)model.ecal()3.只加载某一层的参数:conv1_weight_state = torch.load(’./mod

2020-05-26 11:39:55 2404

原创 关于pytorch的几个坑

1.test_loader = DataLoader(dataset=dataset_test,batch_size=20,shuffle=False,num_workers=4)在CPU上跑这段代码运行不了,方法num_workers设置为0,或者不改在GPU上跑也是可以的2. 记录loss的时候,loss.data[0]或者loss.item()都是可以的,其次pytorch使用Variable跟踪变量(4.0后合并为Tensor),也就是直接使用loss,那么pytorch认为其还在参与运算,其在

2020-05-21 22:23:23 200

原创 Geany设置文档编码格式

Geany设置文档编码格式步骤:菜单栏选择【文档】—【设置文件编码】—【Unicode】—【UTF-8】

2020-05-17 22:50:53 792 2

原创 深度学习之一维卷积神经网实践(序列数据)

一维卷积默认的输入格式是:input = (batch_size,channel,vector_dim)看下面一个简单的例子:# max_sent_len=35, batch_size=50, embedding_size=300conv1 = nn.Conv1d(in_channels=300, out_channels=100, kernel_size=3)#300个向量input = torch.randn(50, 35, 300)#根据输入的要求,channel:300必须在axis=1上

2020-05-17 22:19:42 2454

原创 Pytorch广播机制与matmul函数

1.pytorch的广播机制与numpy类似,当两个tensor逐元素相乘时(两个tensor的size必须相同),会遇到前后tensor的size不同,此时便需要广播机制了。广播机制条件:其中任意一个tensor必须至少有一个维度要么相等,从两个tensor的size末尾开始比较,要么其中一个为1,要么其中一个不存在,满足其一即可。如:在pytorch中,*表示逐元素相乘,而@是矩阵乘积,但是对于高维tensor,@不再适用,尤其是对于size大小还不同的两个张量,pytorch还有一个函数:mu

2020-05-14 15:26:29 2027 2

原创 深度学习——BatchNormalization layer

神经网络在训练过程中往往会遇到一些问题:问题1: 随着网络训练,浅层的权重发生变化,导致深层的输入变化很大。因此每层必须根据每批输入的不同分布重新调整其权重。这减缓了模型训练。如果我们可以使层的输入分布更相似,那么网络可以专注于学习类别之间的差异。不同批次分布的另一个影响是梯度弥散。梯度弥散是一个大问题,特别是对于S形激活函数(sigmoid)。如果g(x)表示sigmoid激活函数,随着 |x...

2020-03-31 17:16:01 617

原创 数据结构与算法——二叉树

一、二叉树及其存储定义:一个有穷的结点集合这个集合可以为空若不为空,则它是有根结点和称其为左子树和右子树的两个不相交的二叉树组成。ADT:类型名称:二叉树数据对象集:一个有穷的节点集合操作集:判断是否为空,遍历访问,初始化一棵二叉树二叉树的顺序存储结构:对于完全二叉树:按从上至下,从左到右顺序存储n个结点的完全二叉树的结点父子关系但是对于一般的二叉树,需要对其进行补齐才能顺序...

2020-02-24 00:24:10 165

原创 数据结构与算法——线性结构的应用之多项式运算

其中输入数据里第一行代表第一个多项式:4表示共有4项第一行代表多项式:3x^4 – 5x^2 + 6x - 2输出项分别是求和和两个多项式的乘积。代码实现:#include<iostream>using namespace std;typedef struct PolyNode* Polynomial;struct PolyNode{ int coef; ...

2020-02-24 00:04:22 364

原创 数据结构及算法——队列

一、队列及其顺序存储也是一种受约束的线性表,与堆栈不同的是,队列允许从一端插入元素,从另一端删除元素。ADT:类型名称:队列(队列)数据对象集:一个有0个或多个元素的有穷线性表操作集:长度为Maxsize的队列,初始化,判断是否已满及是否为空,插入和删除队列的顺序存储结构通常由一个一维数组和一个记录队列头元素位置的变量front以及一个记录队列尾元素位置的变量rear组成。#defi...

2020-02-23 17:38:24 310

原创 数据结构与算法——堆栈

一、堆栈及其顺序存储定义:具有一定操作约束的线性表,只在一段做插入,删除,后入先出ADT:类型名称:堆栈(Stack)数据对象集:一个有0个或多个元素的有穷链表操作集:初始化空堆栈,判断是否已满,是否为空,插入和删除堆栈的顺序存储结构通常由一个一维数组和记录栈顶元素位置的变量组成。#define struct SNode* Stack;struct SNode{ElementTy...

2020-02-23 17:19:17 184

原创 数据结构与算法——二叉搜索树的同构判断

一、基本概念:之前已经讨论过一般二叉树的同构判别:一般二叉树的同构判别方法一:根据两个序列分别建立两棵树,然后依据树的同构判别方法判断是否为同一棵二叉搜索树方法二:不建树,先判断根结点,若相同,再判断其左右子树是否相同;方法三:依据其中任意一条序列建一棵树,然后和其他序列进行比较法三的思路:搜索树的表示,建立搜索树,判断一个序列是否和该树一致二叉搜索树的表示:typedef struc...

2020-02-23 16:17:59 353

原创 数据结构与算法——线性表

一、线性表及其顺序存储ADT:类型名称:线性表(List)对象集:线性表是n个元素构成的有序序列操作集:初始化,按值寻找,按序号寻找,插入,删除,求链表长typedef struct LNode* List;struct LNode{ ElementType Data[MMAXSIZE];int Last;};List Ptrl;代表整个线性表#include<io...

2020-02-22 23:34:21 156

原创 数据结构与算法——寻找最大子列算法

一、介绍:二、代码实现#include<iostream>using namespace std;int MaxSequenceSum1(int N,int arr[]){ int MaxSum,ThisSum; MaxSum=0; for(int i=0;i<N;i++) { for(int j=0;j<N;j...

2020-02-22 22:52:22 128 1

原创 数据结构与算法——判断是否为同一棵二叉树

一、如何判断两棵树是否同构两棵树同构:对于两棵树,比较相对应的结点,如果该结点下的左右子树完全相同,且考虑左右互换,对于每个结点都是如此下面是浙大何老师课上的PPT:二叉树表示:和一般的二叉树不同,这里为了方便比较二叉树的不同,采用了静态链表存储,即物理存储结构是数组,但具有链表的灵活性,通过数组下标链接下一个结点struct TreeNode{ElementType Elemen...

2020-02-22 22:40:09 845

原创 数据结构与算法——堆

一、堆的基本概念优先队列:特殊的“队列”,取出元素的顺序是依照元素的优先权(或关键字大小,如权重),而不是进入队列的先后顺序。堆的存储结构:是否可以采取形同二叉树的链表形式?答:是可以的,但是由于堆经常需要加入和删除元素,采取不同的链表二叉树,可能会导致二叉树退化形成单链表,从而增加了树的高度,搜索复杂度增加。堆的存取形式采取优先队列的完全二叉树堆的性质:1.结构性:堆是用数组表示的...

2020-02-22 21:55:35 106

原创 数据结构与算法——哈夫曼树

一、哈夫曼树的定义及构造思想哈夫曼树定义:满足WPL最小的二叉树,即最优树WPL(带权路径长度):设二叉树有n个叶结点,每个叶子结点带有权值wk,从根结点到每个叶结点长度为lk,则每个叶结点的WPL = ∑wk*lk哈夫曼树特点:1.没有度为1的结点,要么度为2要么度为0,因为每个结点都是由子结点两两合并而来。2.哈夫曼树的任意非叶结点的左右子树交换后仍是哈夫曼树3.n个叶结点的哈夫曼...

2020-02-22 21:23:01 2223

原创 scikit-learn

特征工程和预处理fit和transform是一对双胞胎不能分离的兄弟,一般用fit方法训练完训练集后,再次调用transform方法作用于该训练集或测试集,特征的预处理和特征工程里会有很多这样的使用在不添加任何数据,而只利用分箱后的数据学习不到斜率,这是因为位于一个箱子的数据所形成的多维特征是相同的,比如说我们通过训练集学习到的模型是:w1x1+…+wnxn+b,n表示分享处理后的特征数量,...

2019-11-20 19:36:22 86

原创 MySQL初学

create database test;use test;创建数据表:create table website(ID int,Language varchar(10),Country varchar(10));一个一个语句插入,后面会有直接用一个语句插入:insert into website values('1','C','China');insert into websit...

2019-11-14 20:57:47 83

原创 C语言指针

#include<stdio.h>main(){ int a[2][3]={1,2,3,4,5,6},(*p)[2],*q; p=&a[0]; q=&a[0]; printf("%5d\n",*p);#多维数组中,由于p是数组指针,p在这里是第一行地址,*p因而没有对应的元素,表示的是一行 printf("%5d\n",*q);}1703741...

2019-11-09 22:57:08 82

原创 C语言指针的理解

#include<stdio.h>int main(){ int arr[2][3]={1,2,3,4,5,6}; int (*p1)[2],(*p2)[2],*p3,*p4,*p5; 声明2个数组指针,和3个普通指针 p1=arr;记住p1是数组指针,是指向数组的 printf("%d\n",(*p1)[0]);输出数组里的第一个元素 p1++;指针自增,自增按数组单...

2019-11-09 21:54:11 69

原创 Python:在机器学习时总结关于索引的一个小细节

1.通过argsort函数发现的一个细节:import numpy as *data = array([[2,4,3,4], [2,0,1,2], [2,2,2,2]])datasort = data[:,1].argsort(0)data1 = data[data[:,1].argsort()]data2 = data[data[...

2019-10-09 20:54:23 132

原创 Numpy模块之nonzero函数

nonzero函数的基本功能是返回一个元组,这个元组的元素个数等于数组的维度,而每个元组元素对应非零元素的一个维度,元组从左到右依次是axis=0,axis=1,axis=3…对应的非零元素的索引。eg:import numpy as npx = np.array([[2,3,4,0],[2,0,1,2],[1,1,7,2]])print(type(np.nonzero(x)))输出结果...

2019-10-05 00:20:57 481

原创 Operator模块一

seq1 = ['fool','ddc','ede']seq2 = ['one','two','three']seq3 = [1,2]x = list(zip(seq1,seq2,seq3))print(x)输出结果:[('fool', 'one', 1), ('ddc', 'two', 2)]import operatora = [1,2,3]b = [4,5,6]prin...

2019-10-04 19:52:37 95

原创 numpy模块一随机数

numpy模块之随机数import numpy as np"""numpy.uniform用于生成范围内的浮点型随机数"""uninumber0 = np.random.uniform(low=0,high=7,size=None)#生成单个随机数print(uninumber0)输出结果:6.947315652132868array0 = np.random.uniform(...

2019-10-04 19:45:54 207

原创 python函数的闭包与装饰器

Python函数之装饰器与闭包(一) 函数的变量作用域与闭包(二)函数装饰器(一) 函数的变量作用域与闭包这里是个人理解:python闭包一般用出现内嵌套函数中,其实大多数我们不知不觉用过它,只不过不知道这个概念。首先我们都知道函数内部的变量都有自己的作用域,在外层函数内一旦给变量绑定了对象,如果这个对象是不可变的如数字、元组,那么它的作用域只能在外层函数中,这就是局部变量,我们在没有声明的情...

2019-10-04 19:38:18 117

原创 python机器学习实战决策树

def createtree(dataset,labels): classlist = [example[-1] for example in dataset] if classlist.count(classlist[0]) == len(classlist):#print(labels) return classlist[0] if len(dataset[0]...

2019-09-26 13:10:57 285

原创 机器学习之KNN分类

本文只是根据其他博客做的笔记,仅供自己参考(原文链接)(https://blog.csdn.net/c406495762/article/details/75172850)直接上代码,因为KNN原理并不难。from numpy import *import operatorimport matplotlib.pyplot as pltimport matplotlib.lines ...

2019-09-21 17:33:53 172

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除