- 博客(43)
- 收藏
- 关注
原创 Graph Representation Learning (Hamilton图表示学习)笔记(二)
Chapter 2 Background and Traditional Approaches本章主要介绍了一些在深度学习之前用于图数据的机器学习方法。2.1 Graph Statistics and Kernel Methods
2022-05-20 22:40:15 405
原创 Graph Representation Learning (Hamilton图表示学习)笔记(一)
Chapter 1 Introduction第一章主要是一些介绍性的内容。图是在描述复杂系统时一种常见的数据结构,通常一张图由节点的集合和节点之间的关系(边)组成。例如,在用图表示社交网络时,我们可以用节点表示个体,用边表示不同个体间的朋友关系(如下图所示);在生物领域我们可以用节点表示蛋白质,用边表示蛋白质间的各种生物关系。图结构的优势在于它能比较好的表示节点间的关系,同时具有较强的通用性和一般性,同一张图可能既能表示社交网络,又能表示药物和蛋白质间的关系、分子内部的不同原子间的相互作用。本
2022-05-19 11:41:37 650
原创 Power Iteration (幂迭代) 算法与证明
一、背景与算法Power Iteration是线性代数中的一种经典算法,主要用于近似求解矩阵的主特征值和特征向量。对于一个可对角化的矩阵A,对其进行特征分解可以得到特征值和特征向量,如果在A的所有特征值中存在 for all ,则称为矩阵的主特征值,对应的特征向量则称为主特征向量。主特征值和特征向量中通常包含矩阵中的重要信息。在对大规模数据进行处理时,直接进行特征分解耗时较长,可以考虑使用Power Iteration来进行近似求解。算法的主要流程如下:随机初始化向量 ... u
2022-04-25 21:18:15 4928
原创 linux服务器ssh登录缓慢
在使用linux服务器时,经常要用到ssh远程登录,有的时候会发现在输入登录密码后需要等较长时间才能成功登录,有的教程中指出可以修改系统配置文件,设置为登录时不使用DNS,然后再重启sshd服务,但很有可能并没有作用。甚至修改完配置文件之后,sshd服务并不能正常重启,会报以下错误:错误信息中提示检查polkit服务是否正常运行。此时考虑有可能是身份认证系统存在问题。polkit是linux系统中的身份认证管理工具,如果它不能正常运行的话,会导致在登录进行身份验证时进行较长时间的申请,从而导致登录缓
2021-11-17 22:44:22 895
原创 linux系统polkit无法启动
polkit是linux系统中的一个身份认证管理工具 (Authorization Manager ),在启动一些服务时,有可能会遇到polkit不能正常启动运行的情况,会报出以下错误:查看polkit的运行状态发现是failed:此时发现polkit并没有处于正常的激活状态,由此可能会导致其他一些服务也不能正常启动。首先可以尝试使用以下命令重装polkit再启动:yum reinstall polkitsystemctl start polkit.service运气好的话.
2021-11-17 22:32:58 20341 5
原创 Linux开关键盘背光灯
终端输入以下命令打开背光灯:xset led named "Scroll Lock"输入以下命令关闭:xset -led named "Scroll Lock"
2021-09-17 10:00:06 1050
原创 centos 下 R 安装 devtools 报错:<stdin>:1:18: 致命错误:git2.h:没有那个文件或目录
devtools是R中的一个常用工具,可以使用 devtools::install_github() 命令来安装github上的一些包。首先直接通过安装命令进行安装:install.packages("devtools")此时可能会报错:<stdin>:1:18: 致命错误:git2.h:没有那个文件或目录这是由于缺少相关的依赖造成的,此时退出R,在终端下执行如下操作安装所需依赖:yum install libgit2-devyum -y install libcur
2021-01-15 09:47:55 1579
原创 centos 报错:libgfortran.so.4: 无法打开共享对象文件: 没有那个文件或目录
yum install libfortran4
2021-01-14 21:18:54 1222
原创 Linux(CentOS, ubuntu)报错:libpng16.so.16: 无法打开共享对象文件: 没有那个文件或目录
linux系统在安装一些包或者配置环境时,可能会遇到以下错误:libpng16.so.16: 无法打开共享对象文件: 没有那个文件或目录ubuntu系统和centos系统的解决方案是不一样的:ubuntu系统可以直接安装 sudo apt-get install libpng16-16 centos系统可以先尝试直接安装 yum install libpng-devel 但此时安装的可能是libpng15,不能满足要求,此时执行以下操作: wget https:.
2021-01-14 20:46:21 9875
原创 python使用pandas获取数据行名和列名
python使用pandas读取csv数据:import pandas as pddf = pd.read_csv("filename.csv")获取数据部分:data = df.values获取行名:rownames = df.index获取列名:colnames = df.columns
2021-01-07 16:10:26 25109 2
原创 领域自适应论文总结系列(二)
引言上一节主要介绍了通过分布匹配来解决领域自适应问题的方法,主要是在神经网络中添加距离约束,利用MMD等距离度量使得源域和目标域的数据经过网络后得到的特征分布比较相似,从而可以使得在源域上学到的模型能更好的迁移到目标域。领域自适应问题的关键就在于如何使得源域和目标域的数据更好的进行分布匹配,这一点除了可以通过MMD等距离约束实现,也可以使用对抗训练的思想,这也是本文将要介绍的重点内容。一、DANN (RevGrad)较早的使用对抗训练思想解决领域自适应问题的研究是Yaroslav Ganin等人
2020-12-23 22:01:29 2486 2
原创 ubuntu下R语言安装Seurat包
Seurat是基因表达数据的预处理中常用的包,安装过程如下:如果是安装最新的4.0版本,可以直接使用remotes命令通过github链接安装:remotes::install_github("satijalab/seurat", ref = "release/4.0.0")如果remotes命令不可用,要先安装remotes包:install.packages("remotes")如果是安装2.3版本,则按照以下步骤:首先安装devtools包:install.packa
2020-12-17 15:55:57 5454
原创 python读取.mtx文件
mtx文件是按照稀疏矩阵格式存储的矩阵数据,可以按照以下步骤读取:安装scanpy包 pip install scanpy 文件读取 import scanpy as scadata = sc.read(filename)data = adata.X 第一行read之后返回的是annData,第二行通过.X操作得到的是矩阵数据 转换为稠密矩阵 data = data.todense() 直接得到的矩阵是稀疏形式的,通过todense函数可转换为稠密矩阵.
2020-12-10 19:07:37 4540 5
原创 领域自适应论文总结系列(一)
引言领域自适应是迁移学习中的一类重要问题,主要解决当训练集和测试集的数据分布存在偏差时,如何使得训练出的分类器更好的适应测试集上的数据。早期的基于统计学习等浅层模型的做法主要是先设计一套特征提取方法,然后对训练集和测试集的特征进行分布匹配,此时再将分类器用到测试集上会取得更好的预测效果。但是这种分步式的操作效果还是比较有限的,不能同时兼顾数据分布和分类器的训练,要想实现端到端的在数据分布差异约束下进行分类训练,就要依靠神经网络。近几年来使用深度学习方法解决领域自适应问题的文章有很多,都取得了比较好的效果
2020-11-03 15:33:05 4750
原创 向量的外积(outer product)与克罗内克积(Kronecker)
向量的外积与克罗内克积外积的定义外积(outer product)是线性代数中的一类重要运算,对于n维和m维的两个向量,其外积为一个n×mn\times mn×m的矩阵。给定两个向量u=(u1,u2,...um)\textbf{u}=(u_1, u_2,...u_m)u=(u1,u2,...um),v=(v1,v2,...vn)\textbf{v}=(v_1,v_2,...v_n)v=(v1,v2,...vn),其外积用u⊗v\textbf{u}\otimes \textbf{v}u⊗v表
2020-10-30 09:57:53 19872 1
原创 pytorch将向量拉成对角阵(计算图的度矩阵)
在使用pytorch编写神经网络时,可能会用到创建对角阵(例如图邻接矩阵的度矩阵)。最简单的方法是创建一个随机的矩阵然后循环赋值,但在数据量较大时可能会比较慢,此时可以先获得对角阵对角线上的值构成的向量,然后将该向量拉成对角阵。例如,有一邻接矩阵A,现在要求其度矩阵D(对角阵,每一行的对角元是A中对应节点的度),举例如下:import torchA=torch.ones(3,3)print(A)d=torch.sum(A,dim=1)print(d)D=torch.diag(d)print(
2020-07-29 09:36:08 7930 2
原创 python不用for循环计算一个向量和多个向量的距离
令x为一行向量,M为一矩阵(每行为一个样本),现计算x和M中每个向量间的距离,不使用for循环,代码如下:dis = np.sqrt(np.sum(np.square(x - M), 1))
2020-07-10 15:46:34 765
原创 ubuntu安装向日葵报错 处理时遇到错误:/var/cache/apt/archives/apport_2.20.1-0ubuntu2.4_all.deb
执行安装命令 sudo dpkg -i sunloginclient.deb后,可能会报错:在处理时有错误发生:sunloginclient此时执行 sudo apt-get install -f -y, 然后重新安装即可。但按以上方法操作后不一定成功,还有可能进一步报错:处理时遇到错误:/var/cache/apt/archives/apport_2.20.1-0ubuntu2.4_all.deb出现以上问题说明apport可能有问题,先卸载:sudo apt-get purge appor
2020-06-05 16:18:35 3952 1
原创 优化距离计算函数的matlab实现
从LMNN算法的源代码中得到启发,使用矩阵运算计算两个样本集之间的距离,可以避免循环计算,节省时间。输入两个样本集X和x,X:d×N x:d×n 每一列代表一个样本,每个样本特征为d维,即X有N个样本,x有n个样本输出距离矩DDD:N×n DijD_{ij}Dij代表X的第i个样本和x的第j个样本的欧式距离朴素的算法是循环迭代X和x中的每个样本算距离,要循环N×n次优化后的算法...
2019-12-04 20:22:45 700
原创 多元条件高斯分布的均值和方差的数学推导(Bishop: Patten Recognition and Machine Learning 第二章)
高斯分布是概率统计、机器学习等领域非常重要的一类分布,而多元高斯分布是单元高斯分布在高维数据下的表现形式。多元高斯分布中有一条重要的性质,如果两个变量集的联合是高斯分布,那么其中一个变量集在以另一个变量集为条件下的分布依然是高斯分布,并且可以通过公式推导求出该条件的期望和方差。下面给出具体分析。假设D维向量x服从高斯分布N(x∣μ,Σ)N(\textbf{x}|\bm{\mu}, \bm{\Si...
2019-10-09 19:25:13 7603 2
原创 centos下python安装opencv(cv2)
使用anaconda,只需在命令行执行以下命令:conda install -c https://conda.anaconda.org/menpo opencv3即可成功安装,安装之后可以进入python之后通过:import cv2验证是否安装成功。...
2019-07-17 19:35:10 2350
原创 python一句话实现将普通标签转换成onehot标签: np.array([[1 if i == l else 0 for i in range(n_class)] for l in label])
实现方法如下:onehot_label = np.array([[1 if i == l else 0 for i in range(n_class)] for l in label])用一个简单的例子解释更加直观:label是训练数据集对应的标签数组,假设为:[0,0,1,1,2,2],n_class为总类别数,这里是3从后向前分析这句代码,分别取出label中的每一个标签作为l,i从...
2019-07-13 16:43:40 2655
原创 linux (ubuntu, centos)查看、修改文件所属用户和用户组
linux系统中经常需要更改文件的权限,此时,查看、修改文件所属用户和用户组也是一项十分重要的操作。通过以下命令可以查看一个文件夹下所有文件所属用户和用户组及其对应的权限,ls -l以我本地的upload文件夹为例,效果如下图所示:如果想要修改某个文件所属的用户和用户组,需要使用chown命令,通过以下命令可以修改文件所属用户组:chown username file其中,user...
2019-07-09 16:38:28 34002
原创 解决python发邮件报错(554, 'DT:SPM 163 smtp11,D8CowA..
报错信息如下:将发送人邮箱也加入收件人地址中即可解决报错。更改之前代码:import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrfrom email.mime.application import MIMEApplicationfrom email.mime.image ...
2019-07-09 16:10:41 2904
转载 报错 No module named 'email.utils'; 'email' is not a package解决方法
转自https://blog.csdn.net/zhutianfu521/article/details/79040533运行python程序报错 :import email.utilsModuleNotFoundError: No module named ‘email.utils’; ‘email’ is not a package最基本的就是安装这个模块,但是email是pytho...
2019-07-09 15:39:44 1675
原创 PHP调用python运行GPU程序时,报错ImportError: libcublas.so.10.0: cannot open shared object file: No such file
任务:Web项目开发环境配置:经典的LAMP环境(Linux+Apache2+MySQL+PHP),同时配置了cuda10.0环境问题:有一个python实现的GPU程序,终端下调用时完全可以正常运行,但在PHP文件中使用exec函数调用该python程序时,却会报错:ImportError: libcublas.so.10.0: cannot open shared object file...
2019-07-05 16:02:06 541
原创 pycuda报错error invoking ‘nvcc --preprocess -arch sm_30....[Errno 2] No such file or directory: ‘nvcc‘
最近在新配置的环境下使用python编写GPU程序,在用到pycuda包下的函数时出现了如下错误:File "/home/ubuntu/anaconda3/lib/python3.5/site-packages/pycuda/compiler.py", line 50, in preprocess_source result, stdout, stderr = call_capture_...
2019-07-04 10:51:56 1943 2
原创 安装scikit-cuda时报错Could not install packages due to an EnvironmentError: HTTPSConnectionPool
scikit-cuda包是使用python开发GPU程序时的有力工具,它实现了GPU下的矩阵乘法、转置、求逆等一系列常用的线性代数操作,简化了编程过程。安装时,如果直接使用pip命令安装:pip install scikit-cuda可能会报错:Could not install packages due to an EnvironmentError: HTTPSConnectionPoo...
2019-06-29 15:54:06 3971
原创 CentOS7下升级php5到php7
CentOS7下默认安装的php是php5,但实际应用中很多时候要用到php7,而php7在性能当面也确实优于php5。升级的过程非常简单,只需执行以下几个步骤:升级php更新源。rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el...
2019-06-28 22:53:10 2035 3
原创 ubuntu下PHP+Apache更改上传文件大小限制
Web开发中,文件的上传和处理是很常用也是非常重要的一种操作,使用PHP+Apache组合进行开发时,后台对上传文件的大小、上传时间等都有默认限制(例如内存限制为2M),2M这一限定值显然有很多需求不能满足,如果想要上传更大的文件,需要对PHP的配置文件进行更改,主要分为一下几个步骤(假设需要将文件大小设定为200M):找到配置文件,路径为 /etc/php/7.0/apache2/php.i...
2019-06-05 16:33:34 1697
原创 R语言提取数据框data.frame的行名和列名
R语言中很多数据是data.frame的形式,在数据矩阵的基础上,上边加一行表示各列的列名,左侧加一行代表各行的行名,如果想要获取行名和列名的内容,只需用如下两个函数,假设数据变量为data,则rownames(data) # 返回行名colnames(data) # 返回列名以上两个函数会将行名和列名以list的形式返回...
2019-05-03 11:23:12 82171
原创 python下安装cuda相关包时报错CUDA_TOOLKIT_ROOT_DIR must be defined
最近在用pycuda编程时想要用一个支持python的kmeans并行化包,github链接在这里src-d/kmcuda, 里边有详细的安装教程。但我按照上边提供的安装方法操作之后遇到了错误:CUDA_TOOLKIT_ROOT_DIR must be defined此时需进行的操作是:打开.bashrc文件,位置在home下,处于隐藏状态,可以通过指令:gedit ~./bashrc ...
2019-03-29 14:53:05 6697 2
原创 python使用skcuda包实现GPU上的矩阵乘法,矩阵求逆
导入需要的包:import pycuda.gpuarray as gpuarrayimport pycuda.autoinitimport skcuda.linalg as sklin创建两个矩阵:a = numpy.random.randn(4, 4).astype(numpy.float32) #为了后续GPU上的计算顺利进行,矩阵数值设定为float32b = numpy.ra...
2019-03-26 09:45:18 2734
原创 pycuda int型变量传递
使用pycuda进行GPU编程时,参数转换与传递是必不可少的一步。通常在进行数组传递时,可以用一般方法进行内存分配并转换,例如:import numpya = numpy.random.randn(4,4)a = a.astype(numpy.float32)a_gpu = cuda.mem_alloc(a.nbytes)cuda.memcpy_htod(a_gpu, a)通过以上步...
2019-03-17 19:55:56 997 1
原创 python调用包进行层次聚类分析
聚类是一种非常重要的无监督学习方法,聚类分析发展至今已经出现了多种不同的算法,层次聚类是其中的典型代表,python作为机器学习编程的有力工具,对多种聚类方法进行了集成,本文主要介绍利用python中集成的包进行层次聚类。层次聚类首先需要选定一种距离度量,基于这种度量获取所有样本的距离矩阵。初始时先把每个点作为一个单独的簇,然后要再选定一种衡量簇与簇之间距离的度量,基于这种度量合并两个最近的簇,...
2019-03-12 23:09:53 4317
原创 R语言安装并使用Biobase包
通常在R中安装包时,可以直接在控制台调用install.package()函数进行安装,但Biobase包比较特殊,属于Bioconductor的一部分,直接使用该函数安装会失败,需要首先安装Bioconductor,有的地方说使用命令source("http://bioconductor.org/biocLite.R")可以安装,但我在安装过程中出现了以下报错:Error in download...
2019-03-11 22:29:44 11977 1
原创 删除ubuntu后开机出现grub无法进入windows
最近要在ubuntu下做一个项目,需要配置一些环境,结果尝试了各种方法都失败了,感觉系统配置的有点乱,遂决定重装系统从头再来。。。结果回到windows直接删除了Ubuntu所在的分区,于是再想开机重装的时候就自动进入了grub界面:很多地方说可以输入一些指令来进入windows,然后照这样操作了一下还是不行(如图);还有的地方说开机时进入boot可以通过windows boot mana...
2019-01-15 17:14:36 7922 2
原创 在rviz里尝试先锋机器人的导航仿真
在rviz里尝试先锋机器人的导航仿真首先从GitHub上下载了大神的包 下载链接:https://github.com/LCAD-UFES/p3dx_navigation https://github.com/SD-Robot-Vision/PioneerModel 参考链接: http://wiki.lofarolabs.com/index.php/Moving_The_Pioneer_3
2017-07-20 19:18:56 1722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人