工具
Guapifang
这个作者很懒,什么都没留下…
展开
-
DGL大图采样报错记录:Expect argument “nodes[“_N“]“ to have data type torch.int32. But got torch.int64.
也就是dgl需要torch.int32,但是我不小心把输入的数据类型弄成了torch.int64,我一直以为是不是我数据类似问题,结果就一直从头到尾把所有数据类型都强制转换成torch.int32,结果还是报错如上,折腾了真的好几天,一直不明白为啥!我被这个问题折腾了好几天,因为在处理一个很庞大的图数据,需要采样训练,然后数据从原始数据处理成图数据,导入DGL采样模块中,结果就一直报错如下。结果就在刚刚,我不小心把数据类型强制转换成torch.int64,结果结果,居然跑通了!我吐了,不带这么坑人的。原创 2023-05-30 23:53:46 · 620 阅读 · 0 评论 -
DGL图神经网络计算框架常用操作记录
DGL默认出现的边中节点ID最大的为这个图网络的节点数目,因此可以提前声明节点的数目。这里仅用于记录一些DGL的常用基本操作,以便后续使用查阅。DGL创建一个简单同构图。DGL计算节点的入度。原创 2023-01-12 11:21:39 · 460 阅读 · 0 评论 -
Linux关闭输入密码验证登陆
每次ssh登陆到远程Linux服务器都提示要输入密码,但是在一些系统下验证密码自己没法设置,也没法查看,需要其他方式进入服务器,就很麻烦,比较好的方式就是进入服务区后直接关闭验证登陆。先进入修改的参数文件里面。sudo vim /etc/ssh/sshd_config找到这个参数原来的是no,修改成yes即可。就可以免密码登陆服务器了。...原创 2021-12-31 11:39:53 · 1939 阅读 · 0 评论 -
python加载json文件,python加载pkl文件
加载json文件text = '{"text": "稳定型缺血性心脏疾病@ * 所有年龄超过 21 岁、LDL 大于或等于 190 的患者都应当接受高强度他汀类药物治疗。", "spo_list": [{"Combined": false, "predicate": "药物治疗", "subject": "稳定型缺血性心脏疾病", "subject_type": "疾病", "object": {"@value": "高强度他汀类药物治疗"}, "object_type": {"@value": "药物原创 2021-10-27 18:13:35 · 617 阅读 · 0 评论 -
序列标注--词性英文对照表
a 形容词ad 副形词an 名形词ag 形容词性语素al 形容词性惯用语b 区别词bl 区别词性惯用语c 连词cc 并列连词d 副词e 叹词f 方位词h 前缀k 后缀m 数词mq 数量词n 名词nr 人名nr1 汉语姓氏nr2 汉语名字nrj 日语人名nrf 音译人名ns 地名nsf 音译地名nt 机构团体名nz 其它专名nl 名词性惯用语ng 名词性语素o 拟声词p 介词pba 介词“把”pbei 介词“被”q 量词qv 动量词qt 时量原创 2021-10-26 13:45:27 · 1124 阅读 · 0 评论 -
pip install -r requirements.txt
把需要安装的模块信息全部写入requirements.txt文件,然后执行命令pip install -r requirements.txt统一安装文件里面提到的模块。比如requirements.txt内容为:tqdm==4.49.0wandb==0.10.30packaging==20.9numpy==1.20.3运行指令统一安装。...原创 2021-10-25 09:39:51 · 867 阅读 · 0 评论 -
torch.bmm()和torch.matmul()函数的用法和区别,矩阵相乘
torch.bmm()和torch.matmul()都是矩阵乘法的运算函数,区别是,torch.matmul更强大。两者都可以支持3维的矩阵运算,实际是第一维只是找下标,后面2维才是矩阵,然后对应做矩阵乘法。import torchx = torch.rand(2,3,2)y = torch.rand(2,2,4)print('矩阵x:',x)print('矩阵y:',y)print('matmul运算:')print(torch.matmul(x,y))print('bmm运算:')原创 2021-10-04 22:26:44 · 5264 阅读 · 0 评论 -
NLP实用小工具Tokenizer和pad_sequences进行文本的数字编码和长度填充或截断
NLP任务中经常需要把词语转换成数字ID,然后又要统一文本长度,不够的填充0,多出的部分需要截断,keras里面自带了这样的功能模块如下。from keras.preprocessing.sequence import pad_sequencesfrom keras.preprocessing.text import Tokenizer具体使用效果如下from keras.preprocessing.sequence import pad_sequencesfrom keras.preproce原创 2021-09-13 08:55:06 · 1300 阅读 · 0 评论 -
python读取并转换.ppm格式图片为.jpg图片
主要是最近训练图像识别模型,找到的数据集为.ppm格式,python直接读取有点麻烦,也希望最好转换为.jpg比较好处理。一开始网上找了一些方法都是感觉说的都比较麻烦,我自己想到,既然是文件就肯定可以二进制读取,转换为二进制数据流,然后再把二进制数据流保存为.jpg文件,于是就这样实现,居然可以!def PPM_to_JPG(old_path,save_path):#old_path为原始ppm文件地址,save_path为保存的jpg文件地址 val='' with open(old_原创 2021-08-10 17:28:37 · 1982 阅读 · 2 评论 -
Python Pygame制作简单五子棋游戏(详细代码+解释)
这里只想简单演示下一个简单的五子棋界面和落子等操作,主要为了后面设计AI对战方便演示,AI算法后面设计吧,最近事太多了,,,,。希望本文有助于你制作自己期望的简单的五子棋。效果如下:右边白色的矩形框表示你鼠标当前的位置,然后点击鼠标左键落子。如果已经落子的地方,不会显示这个白色矩形框。一、pygame初始化画布界面#调用pygame库import pygameimport sys#调用常用关键字常量from pygame.locals import QUIT,KEYDOWN#初始化原创 2021-08-09 00:25:45 · 30317 阅读 · 33 评论 -
Linux 程序运行不中断 nohup简单使用
我们使用的Linux一般是连接到某个强大的服务器上,然后从终端输入运行代码的指令,那么程序开始运行,但是这样有个问题,就是如果网络问题或者服务器和客户端连接不稳定,终端是很容易自动关闭的,如果终端关闭那么辛辛苦苦快跑完的程序也会中断。于是我们利用指令:nohup python train.py &输入该指令后, 程序运行结果不会显示到终端,而是直接在服务器后台运行,此时会在当前目录下生成一个nohup.out文件,会记录整个程序运行的输出内容,并且这个过程不会被中断,只能等到程序正常运行结束原创 2021-05-21 11:23:58 · 913 阅读 · 4 评论 -
Linux 系统指定程序运行的显卡
一般租的服务器会有多张显卡,为了资源最大化利用同时运行程序,如果不指定显卡运行会导致多个程序抢占一张显卡运行,然后报错内存占满。我们先查看系统有多少张显卡,每张显卡的运行状态:nvidia-smi在终端输入上面的指令得到下面的结果,显示了系统安装的所有显卡和每张卡当前的状态,比如显卡0当前使用率为81%,已经比较接近占满了。我们观察到1,2,3,4,5都没程序使用,于是指定其中几张,指令如下CUDA_VISIBLE_DEVICES=3,4,1 python train.py意思为同时用显卡原创 2021-05-21 11:08:32 · 3678 阅读 · 0 评论 -
ubuntu系统的简单操作创建删除文件(夹)安装python模块
最近因为做项目只能在ubuntu系统跑数据,ubuntu系统很有趣,可以鼠标创建文件夹,但是创建具体的文件,比如一个txt或者py都不行,好像得命令行,于是打开终端。1.创建文件:touch file_name.txt2.创建文件夹:mkdir newfolder3.删除文件:rm file_name.txt4.删除文件夹:rmdir newfolder5.删除带有文件的文件夹:rm -r newfolder然后是给python安装模块,这里分版本,python2和pytho原创 2021-03-31 14:41:35 · 144 阅读 · 0 评论 -
简单的直接修改MAC地址的方法
网上很多修改方式很多,比如进入控制面板找网络配置信息,但是这样有几个问题,一个是操作麻烦,二是有些电脑因为结构问题是无法通过控制面板找到MAC地址的,于是有大神专门开发出可以修改MAC地址的软件TMAC,下载地址:TMAC下载...原创 2021-03-30 11:34:44 · 1396 阅读 · 0 评论 -
Python开启多进程分批次处理数据减少主程序处理时间
这段时间弄一个模型处理数据时因为运算量很大,导致模型整体效率很低,后来想到把数据分段,开多进程来同时处理可以大大降低时间,简单来说就是,本来一个数据我单独主程序需要处理花10min,然后我把这个数据分成10段,再分别开了10个进程单独处理其中一段,因为这些进程是并行运算的(会加大电脑CPU运算量),那么总共你的时间就只花了1min,就很赚了。说干就干,先写一个简单的多进程代码。简单的多进程代码from multiprocessing import Processimport timedef fun原创 2021-03-25 17:02:09 · 1383 阅读 · 1 评论 -
Python读取mat文件
import scipy.io as iodata=io.loadmat('file_name.mat')print(data)读取后的数据可能为字典,需要索引,于是可以先打印关键字查看内容print(data.keys())然后再根据关键字去查看具体内容,比如我打开一个文件并查看关键字显示的内容为:上面显示的关键字有4个,如果我查看其中某个具体对应的内容,就是print(data['__header__'])...原创 2021-03-24 10:53:37 · 9929 阅读 · 0 评论 -
Python求解非齐次线性方程组代码
给一个齐次线性方程组:3x1 + 4x2 + 5x3 =542x1 + 5x2 + 4x3 =444x1 + 6x2 + 3x3 =55求解结果为x1=7x2=2x3=5现在利用python求解函数的模块直接求答案。# 求解线性方程组from scipy import linalgimport numpy as npX_temp = [[3, 4, 5], [2, 5, 4], [4, 6, 3]]X_temp=np.array(X_原创 2021-03-22 15:01:41 · 3904 阅读 · 3 评论 -
Python Counter模块统计输入数据中不同的字符及其对应的个数
from collections import Counternum=[-1,-2,-1,-2,-3,1,1,1,1,-3,-2,1,-3]print(Counter(num))#统计不同数字的出现次数s=['ab','sd','as','as','asd','ss','ee','ee','ss','as']print(Counter(s))#统计不同字符串及其出现次数输出结果为一个字典,左边为元素名字,右边为该元素对应出现的次数。...原创 2021-03-19 14:56:29 · 284 阅读 · 0 评论 -
【2020年保研记】浙大软院+中科院信工所+北师大人工智能学院+华中科技网安学院+四川大学网安学院+中山大学系统科学与工程学院
很喜欢《游褒禅山记》里面说的一句话:而世之奇伟、瑰怪,非常之观,常在于险远,而人之所罕至焉,故非有志者不能至也。保研是为了去更好的学校,更是一个对自己人生的极高要求,唯有会当凌绝顶,才能一览众山小。其过程之孤,其经历之艰,如同世之奇伟、瑰怪,非常之观。而唯有一颗坚持不放弃的心,才能前往。今年疫情影响,保研和往年大有不多,往年的保研都是线下,所以要跑来跑去,今年全部线上模式,倒也轻巧,分享下自己的一些经历和经验,希望对后来者有所帮助。简单介绍下自己的情况:本科中流211,计算机科学与技术专业,夏令营时原创 2020-10-16 14:17:32 · 5219 阅读 · 16 评论 -
Python同时显示多张图片在一个画面中(两种方法)
很多时候需要把很多图片同时显示到一个画面中,现在分享两个方法,这里我恰好拿之前写的爬取网上图片保存到本地的爬虫模型爬一些图片作为素材Python 爬虫批量爬取网页图片保存到本地。得到素材如下所示:现在让这些图片同时显示。方法一subplot函数,这个方法比较简单,这个函数会把每个图片作为一个单独的部分自动整合到同一个画面中 ,使用方法如下:import matplotlib.pyplot as pltimport numpy as npN=4M=8#形成NxM大小的画布for i i原创 2020-12-24 21:28:20 · 32461 阅读 · 5 评论 -
Python手写修改图像尺寸大小的函数--利用二分+递归的原理
本来一开始是想写一个把很多图片同时显示在一个画面中的代码,我的想法是把所有图片的数据都储存到一个新的图片矩阵中,那么就需要把所有图片的大小尺寸归一化,然后有很多现成的函数,但是我想着自己手写一个,然后就,,,,懵了,比如尺寸大小为7x7,修改成11x11,怎么修改????又不是倍数关系,又不可能直接舍去某个部分的图像信息不管,然后就懵了,我们经常用一些修改图像尺寸的函数,但是却没想到修改图像尺寸还是挺麻烦的,于是我突然想到分治思想,比如7x7修改成11x11,可以看成是两个部分3x7修改成5x11和4x7修原创 2020-12-24 20:41:50 · 492 阅读 · 4 评论 -
Python 爬虫批量爬取网页图片保存到本地
其实和爬取普通数据本质一样,不过我们直接爬取数据会直接返回,爬取图片需要处理成二进制数据保存成图片格式(.jpg,.png等)的数据文本。现在贴一个url=https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang-001.jpg请复制上面的url直接在某个浏览器打开,你会看到如下内容:这就是通过网页访问到的该网站的该图片,于是我们可以直接利用requests模块,进行这个图片的请求,于是这个网站便会返回给我们该图片的数据,我们再把数据写原创 2020-12-22 22:08:35 · 32410 阅读 · 9 评论 -
Python写入和读取Excel表格数据
Python作为一个强大的数据处理工具,这里简单介绍下python读取写入excel表格数据。一、python写入excel表格导入xlwt模块生成一个空的excel表格,命名为my_test.xlsimport xlwt# 创建工作簿f = xlwt.Workbook()# 创建一个sheetsheet1 = f.add_sheet('my_test', cell_overwrite_ok=True)# 保存文件f.save("my_test.xls")生成一个空的excel表格原创 2020-12-21 12:27:42 · 4184 阅读 · 1 评论 -
C++可视化界面EasyX图形库的安装以及简单使用
EasyX图形库是一个比较简单容易上手的可视化界面工具包,一般配合VC6.0就可以使用,也可以配合VS系列,这里简单介绍下VC6.0的安装和简单使用。一、EasyX的安装然后点击进去下载如上所示,点击保存文件。一直点击下一步。就到现在这个界面,easyX安装程序会自动检索你的电脑上已经安装的Vs系列编辑器,比如我电脑安装的是Visual C++6.0被检索出来,点击安装就行,然后就是安装完成了。很简单吧二、使用示范easyX图形库的功能是比较简单的,可以结合鼠标进行操作,也可以加载音频原创 2020-10-05 19:50:53 · 12324 阅读 · 9 评论 -
STL之Set基本用法
单独说一下Set是因为这个工具以前很少用,因为接触不多,后来发现功能太强大了,本来很多题目用Set可以快速通过,但无奈之前都没有使用set的习惯,导致吃了很少亏,set功能非常强大,原因在于Set就是一棵二叉搜索树,我们在很多题目中经常遇到需要动态储存数据,而且储存的数据在后面又需要查找使用,或者删除一些不需要的数据,而在数据结构中我们知道二叉搜索树就是这个很完美的工具,二叉搜索树查询时间为NlogN,而且查找目标元素后删除的时间复杂度为O(1),实在是很方便,而set恰好就是一个方便小巧的二叉搜索树,不过原创 2020-09-19 15:11:51 · 1502 阅读 · 0 评论 -
用cmd命令行下载github中的工程文件
github可以说是全球最大的一个技术交流分享平台了,里面提供了各种技术学习资源,但是下载文件的时候,也可能是外网限制问题,一般用浏览器下载很慢,特别在下载大型的文件的时候,非常容易下到一半卡掉,浪费时间,所以这时候用命令行下载比较稳定得多。具体操作如下打开github官网,搜索你想下载的某个工程,比如这里,我搜索了我以前上传到github的游戏资源,演示下载然后点击右边的绿色标记的“Clone or download”,复制这个链接然后打开命令行,请将命令行的位置定位到你要下载的位置,比如这里我原创 2020-05-30 21:06:39 · 10914 阅读 · 2 评论 -
C++文件操作,读取,写入,追加写入
文件写入,会覆盖原来的内容代码#include<fstream>#include<iostream>using namespace std;int main(){ fstream f; f.open("data.txt",ios::out); //输入你想写入的内容 f<<"123323"<<" "<<"abs"<<endl; f.close(); return 0;}运行结果文件写入,追加的方式,不原创 2020-05-26 23:12:03 · 79854 阅读 · 17 评论