小白成长日记
开个专栏记录自己的成长之路
fVector
研究NLP,在医疗AI领域,对NLP有兴趣的朋友可以一起聊聊
展开
-
用sys实现动态输出
import sysimport timeN = 100for i in range(N): time.sleep(1) sys.stdout.write(f"\r{i} / {N}") sys.stdout.flush()原创 2022-02-23 20:17:18 · 325 阅读 · 0 评论 -
使用python包scanpy读取单细胞h5ad文件
import scanpy as scannData = sc.read_h5ad(filePath)print(annData.X.to_df()) #这里显示的就是单细胞数据的pandas.DataFrame类型了#其中annData.var里面的是细胞,annData.var里面的是基因原创 2022-02-12 17:08:20 · 9889 阅读 · 0 评论 -
pandas读取大文件tsv方法
import pandas as pddf = pd.read_csv("test.tsv", dilimiter = '\t')tsv文件与csv文件的区别为前者是以\t为分隔符,后者是以,为分隔符,所以读取tsv文件时,只需要把分隔符dilimiter设置为\t即可原创 2022-01-06 16:52:56 · 3132 阅读 · 0 评论 -
用requirement.txt安装python包
numpy==1.18.1torch==1.2.0networkx==2.4pandas==0.25.3matplotlib==3.1.2seaborn==0.9.0umap-learn==0.3.10munkres==1.1.2tqdm==4.48.0python-igraph==0.8.3使用命令python install -r requirement.txt原创 2021-12-24 20:58:00 · 1035 阅读 · 0 评论 -
tensorboard使用方法
log_dir="logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)#就是加上面这两行代码,然后在fit的时候加上callbacks = [tensorboard_callback]model.fit(x=x_train, y=y原创 2021-12-16 21:32:15 · 182 阅读 · 0 评论 -
图可视化networkx
导入包networkxpip install networkx #创建一个没有边和结点的空图 import networkx as nx G = nx.Graph() #添加一个结点 G.add_node(1) #添加多个结点,可以从list,也可以从tuple中添加 G.add_nodes_from([2,3]) #添加结点属性,通过元组实现 G.add_nodes_from([ (4, {"color": "red"}), (5, {"color": "green"})]) .原创 2021-12-16 21:32:01 · 1204 阅读 · 0 评论 -
pandas获取列名称
col = list(df)取出某一列df.col_name,返回series类型取出某一行df.iloc[i],第i行,放回series类型value_counts可以计算相同key的值有多少个unique()方法可以去重Series转list的方法:Series.tolist()原创 2021-12-16 20:01:28 · 2890 阅读 · 0 评论 -
单细胞测序对于医学的意义
转录组学技术对于医学的意义主要集中在对病变组织和相应健康组织的比较工作上,或者可以对大量的病变组织进行分析,找出其间的差异,即进行亚型鉴定。我们主要是通过细胞组成情况(比如浸润的免疫细胞),以及和转化细胞和周围间质细胞里的基因表达情况来确定肿瘤组织的。因此,在组织层面进行观察时需要同时对几种不同的基因表达谱进行研究。高通量的病变组织单细胞分析能够同时检测细胞的组成变化(通过细胞聚类分析手段)和相应的基因表达变化。我们可以对健康组织和病变组织里特定的细胞进行比较,发现与疾病相关的特异性基因表达改变情况。不过要原创 2021-12-04 18:47:17 · 1656 阅读 · 0 评论 -
限制tensorflow使用所有显卡内存,使其动态使用显卡内存的方法
可以复制粘贴直接使用的代码import tensorflow as tfgpus = tf.config.experimental.list_physical_devices('GPU')if gpus: try: # Currently, memory growth needs to be the same across GPUs for gpu in gpus: tf.config.experimental.set_memory_growth(gpu, True)原创 2021-12-03 10:53:15 · 428 阅读 · 0 评论 -
pandas控制展示的行数
import warningswarnings.filterwarnings("ignore")pd.set_option("display.max_columns", 6)pd.set_option("display.max_rows", 6)原创 2021-11-28 14:08:01 · 183 阅读 · 0 评论 -
python类
类定义是为了继承,没有继承,定义类也没有意义。类可以多继承,在括号里多加一个类就可以实现多继承。类里面加__的属性是私有属性,加__的方法是私有方法,继承的类不能获得。继承的类可以重写父类的函数,通过定义跟父类一样的函数名实现。__init__()是一个特殊的方法,每当你用这个类创建新实列时,python会自动运行它定义的类中的参数叫做形参,实列化时传入的参数叫实参以self为前缀的变量可供类中的所有方法使用,可以通过类的任何实例来访问。所以如果你想让一个变量被整个类都使用,你可以定义一个以s原创 2021-11-28 13:31:36 · 485 阅读 · 0 评论 -
keras定义自己的层
keras定义自己的层,只需要实现三个方法即可。build(self, input_shape):这里是编写层的功能逻辑的地方。你只需要关注传入 call 的第一个参数:输入张量,除非你希望你的层支持masking。 call(self, x):这里是编写层的功能逻辑的地方。你只需要关注传入 call 的第一个参数:输入张量,除非你希望你的层支持masking。 comput_output_shape(self, input_shape):如果你的层更改了输入张量的形状,你应该在这里定义形状变化的逻辑,这原创 2021-11-28 13:24:19 · 1316 阅读 · 0 评论 -
vim编辑器
w保存,q推出,推出vim编辑器就使用:wq,记住要:进入底线命令模式原创 2021-11-26 20:19:16 · 314 阅读 · 0 评论 -
python正则表达式
正则表达式是用于匹配字符串的\d可以匹配一个数字,\w可以匹配一个数字或字母,.可以匹配任意字符匹配变长的字符,*表示任意个字符(包括0),+表示至少一个字符,?表示0或1个字符,{n}表示n个字符,{n-m}表示n-m个字符\s可以匹配一个空格(也包括Tab等空白符),\s+可以匹配至少有一个字符^代表首部,$代表尾部,如果想实现全部匹配,可以^ $,用这两个符号把pattern夹在里面正则表达式可以用来处理字符串,当用户输入一些不规则字符串时,可以把它转换为规则字符串切分字符串:很厉害的一原创 2021-11-26 14:00:08 · 109 阅读 · 0 评论 -
seaborn_practice
```pythonimport seaborn as snssns.set_theme()tips = sns.load_dataset("tips")print(type(tips))<class 'pandas.core.frame.DataFrame'>print(tips.shape)(244, 7)print(tips[:5]) total_bill tip sex smoker day time size0 ...原创 2021-11-22 13:02:28 · 1120 阅读 · 0 评论 -
电脑部分截图windows
win + shift + s原创 2021-11-19 18:38:54 · 339 阅读 · 0 评论 -
shell编程
什么是shell编程?允许执行程序,输入并获取某种半结构化的输出,电脑的终端就是一个shellshell 基于空格分割命令并进行解析,然后执行第一个单词代表的程序,并将后续的单词作为程序可以访问的参数。如果希望传递的参数中包含空格(例如一个名为 My Photos 的文件夹),要么用使用单引号,双引号将其包裹起来,要么使用转义符号 \ 进行处理(My\ Photos)。可以在程序中创立连接,可以将输入输出流分别重定向到文件中missing:~$ echo hello > hello.txt.原创 2021-11-18 23:24:04 · 52 阅读 · 0 评论 -
pytorch构造数据集的方法
X 为 features, y 为 label,from torch.utils import datadataset = data.TensorDataset((X, y))train_iter = data.DataLoader(dataset, batch_size, shuffle) #生成一个迭代器原创 2021-11-17 19:49:38 · 185 阅读 · 0 评论 -
常用latex符号
A与B的交集A∩BA \cap BA∩B: $A \cap B$, A与B的并集A∪BA \cup BA∪B: $A \cup B$分数ab\frac a bba: $\frac a b$, 如果是分式a−bc−d\frac {a - b} {c - d}c−da−b: $\frac {a - b} {c - d}$单箭头→\rightarrow→: $\rightarrow$, 这是右箭头,左箭头把right给成left就行;双箭头⇒\Rightarrow⇒: $\Rightarrow$, 同理.原创 2021-11-07 16:08:13 · 1284 阅读 · 0 评论 -
python中os操作
pid = os.getbid() #获取当前进程idos.environ['CUDA_DEVICE_ORDER'] = "PCI_BUS_ID" 让显卡编号固定住,看到的就是真实编号os.environ["CUDA_VISIBLE_DEVICE"] = "0,1,2" 设置cuda可用的显卡原创 2021-11-07 15:59:01 · 239 阅读 · 0 评论 -
iterable,generator, yield三个的关系
generator只能遍历一次,然后就消失,iterable可以一直遍历,yield就是相当于return, 但是yield是用于生成generator用的,详情请见https://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do,这篇博客讲的非常详细...原创 2021-10-21 21:14:47 · 80 阅读 · 0 评论 -
python小知识点
ord©, 返回字符’c’ 的ASCII值,'a’的ASCII值为97,'A’的ASCII值为65,'0’的ASCII值为48chr(number), chr函数与ord函数相反,是根据ASCII值返回对应的字符原创 2021-10-17 11:59:34 · 95 阅读 · 0 评论 -
python模块的导入问题
main.py与要导入的文件svm.py位置关系如下:file -main.py -file1 -file2 -svm.py 在VScode中打开file文件夹,环境是在Linux下,注意使用’/’,而不是’’\import sys sys.path.append('../file/file1/file2') #sys.path是用于python查找模块的路径,我们现在把这条相对路径添加进入python查找模块的路径中,此处需要注意是从file开始,而不是从file1开始原创 2021-10-17 11:40:10 · 95 阅读 · 0 评论 -
linux + conda
跑paper代码时遇到的一些问题git clone + “url” : 可以直接把别人github仓库里的文件复制到自己的主机上面conda env create --name pnet_env --file=environment.yml : conda env create 根据environment.yml环境配置文件创建环境,前提要求是工作目录里面包含有environment.yml.**如果出现 ResolvePackageNotFound:+ “package”,就需要修改environm原创 2021-10-14 21:15:02 · 334 阅读 · 0 评论 -
把程序放在服务器后台运行
#如何正常跑一个机器学习程序?(1)指定显卡,固定每张显卡的编号‘’’import osos.eviron[“CUDA_DEVICE_ORDER”] = “PCI_BUS_ID”‘’’(2)因为ssh经常断开,所以在服务器上跑程序可以把程序放在linux后台运行,把log输出到一个文件当中,这里介绍一种好用的方法‘’’nohup 命令 > out.txt 2>&1 &...原创 2021-09-30 22:54:41 · 577 阅读 · 0 评论