自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mjiansun的专栏

学如逆水行舟,不进则退

  • 博客(32)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

转载 给Python加速(性能加速的方法)

首先提高代码的性能不能以改变代码功能为代价。简而言之,按照原文说的:1.首先将代码写对 2.测试代码是否正确执行 3.如果代码效率不高就分析是哪个部分造成的。 4.优化这个部分 5.从第二步开始重复这个部分详细的解读包括:选择一个正确的数据结构这个说法深有体会。Python中多变的数据结构可以造成很大的差异,使用一个set就可以事半功倍。甚至一个自己定义的数据结构,对于内存,运算速度,处理方式等都有很大的影响。进行排序我在项目中也遇到过,爬取的几百万的数据URL需要进行鉴别

2020-05-28 14:02:07 1048

转载 Python报“TypeError:abytes-likeobjectisrequired,not‘str’”解决办法

解决办法非常的简单,只需要用上python的bytes和str两种类型转换的函数encode()、decode()即可!str通过encode()方法可以编码为指定的bytes;反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法;例:str = 'this is test'str = str.encode()...

2020-05-26 17:06:00 419

转载 CutMix数据增强学习

一、前言之前有一篇博客学习了mixup数据增强,对于提升模型的性能非常显著。长江后浪推前浪,这一篇CutMix数据增强居然将其推在沙滩上。简单回顾下mixup数据增强:从训练样本中随机抽取两个样本进行简单的随机加权求和,同时样本的标签也对应加权求和,然后预测结果与加权求和之后的标签求损失,在反向求导更新参数。CutMix的处理方式也比较简单,同样也是对一对图片做操作,简单讲就是随机生成一个裁剪框Box,裁剪掉A图的相应位置,然后用B图片相应位置的ROI放到A图中被裁剪的区域形成新的样本...

2020-05-26 14:03:13 1384 1

转载 Ubuntu下查看文件夹下文件数量

如果在Ubuntu上文件夹下存了批量的文件,比如这样的:又想要知道这个文件下到底有多少文件,到底该用到哪些命令呢。平时总是记不住,还要百度翻出来,所以今天记下来:查看当前目录下的文件数量(不包含子目录中的文件):ls -l | grep "-" | wc -l查看当前目录下的文件数量(包含子目录中的文件):ls -lR | grep "-" | wc -l查看当前目录下的文件夹目录个数(不包含子目录中的目录):ls -l | grep "-" | wc -l查看该目录下

2020-05-26 10:10:49 1416

转载 ubuntu常用命令 mv:移动文件或文件夹

mv 文件名1 文件名2 (文件移动到文件(文件重命名)) mv 文件名 文件夹名 (文件移动到文件夹下) mv 文件夹名1 文件夹名2 (文件夹1存在) (文件夹移动到文件夹(文件夹重命名)) mv 文件夹名1 文件夹名2 (两文件夹均存在) (文件夹移动到文件夹下) ...

2020-05-25 16:21:21 38215

转载 【Faiss】index进阶操作(八)

index进阶操作下面介绍的方法只支持部分Index类型。从index中恢复出原始数据给定id,可以使用reconstruct或者reconstruct_n方法从index中回复出原始向量。支持IndexFlat, IndexIVFFlat (需要与make_direct_map结合), IndexIVFPQ, IndexPreTransform这几类索引类型。# 导入faissimport sysimport numpy as np sys.path.append('/home/

2020-05-23 13:12:58 3922

转载 【Faiss】基础index可以合成使用(七)

数据准备import numpy as np d = 512 #维数n_data = 2000 np.random.seed(0) data = []mu = 3sigma = 0.1for i in range(n_data): data.append(np.random.normal(mu, sigma, d))data = np.array(data).astype('float32')#queryquery = []n_query = 10

2020-05-23 13:10:17 713

转载 【Faiss】基础索引类型(六)

基础索引类型数据准备import numpy as np d = 512 #维数n_data = 2000 np.random.seed(0) data = []mu = 3sigma = 0.1for i in range(n_data): data.append(np.random.normal(mu, sigma, d))data = np.array(data).astype('float32')#queryquery = []n_qu

2020-05-22 17:32:10 1734

转载 【Faiss】indexes 前(后)处理(五)

Pre and post processing在某些情形下,需要对Index做前处理或后处理。ID映射默认情况下,faiss会为每个输入的向量记录一个次序id,在使用中也可以为向量指定任意我们需要的id。部分index类型有add_with_ids方法,可以为每个向量对应一个64-bit的id,搜索的时候返回这个指定的id。#导入faissimport syssys.path.append('/home/maliqi/faiss/python/')import faissimpo

2020-05-22 17:07:39 5325

转载 【Faiss】indexes IO和index factory(四)

I/O操作faiss.write_index(index, "index_file.index") #将index保存为index_file.index文件index = faiss.read_index("index_file.index") #读入index_file.index文件#完全复制一个indexindex_new = faiss.clone_index(index)index_cpu_to_gpu = faiss.index_cpu_to_gpu()#index_cpu_

2020-05-22 17:00:05 1865

转载 【Faiss】快速入门(二)

Tutorial 快速入门数据准备faiss可以处理固定维度d的向量集合,这样的集合这里用二维数组表示。 一般来说,我们需要两个数组:1.data。包含被索引的所有向量元素;2.query。索引向量,我们需要根据索引向量的值返回xb中的最近邻元素。为了对比不同索引方式的差别,在下面的例子中我们统一使用完全相同的数据,即维数d为512,data包含2000个向量,每个向量符合正态分布。需要注意的是,faiss需要数组中的元素都是32位浮点数格式。 datatype = 'float32'。

2020-05-22 14:45:43 992

转载 【faiss】安装(一)

faiss安装使用Anaconda安装使用Anaconda安装使用faiss是最方便快速的方式,facebook会及时推出faiss的新版本conda安装包,在conda安装时会自行安装所需的libgcc, mkl, numpy模块。faiss的cpu版本目前仅支持Linux和MacOS操作系统,gpu版本提供可在Linux操作系统下用CUDA8.0/CUDA9.0/CUDA9.1编译的版本。注意,上面语句中的cuda90并不会执行安装CUDA的操作,需要提前自行安装。#安装cpu版本#

2020-05-22 14:38:08 5377

转载 【faiss】使用的一点总结

1,支持两种相似性计算方法:L2距离(即欧式距离)和点乘(归一化的向量点乘即cosine相似度);2,按照是否编码压缩数据可以分为两类算法,使用压缩的算法可以在单台机器上处理十亿级别的向量规模;3,并非线程安全的——不支持并行添加向量或搜索与添加的并行;仅在CPU模式下支持并行搜索;4,只有继承了IndexIVF 的算法才支持向量的 remove() 操作,但由于是连续存储,remove的时间复杂度是O(n),建议另外维护一个列表记录被删除的或尚存的向量;5,faiss 针对批量搜索做了优化;6,

2020-05-21 17:20:02 1918 3

转载 【Faiss】GPU

Fassi通过CUDA支持GPU,要求3.5以上算力,float16要求CUDA7.5+通过index_gpu_to_cpu可以将索引从GPU复制到CPU,index_cpu_to_gpu 和 index_cpu_to_gpu_multiple可以从CPU复制到GPU,并支持GpuClonerOptions来调整GPU存储对象的方式。GpuIndexFlat, GpuIndexIVFFlat 和 GpuIndexIVFPQ分别是IndexFlat, IndexIVFFlat 和 IndexIVFPQ

2020-05-21 15:08:06 1380

转载 【Faiss】PQ和IVF介绍

Faiss是什么Faiss是FAIR出品的一个用于向量k-NN搜索的计算库,其作用主要在保证高准确度的前提下大幅提升搜索速度,根据我们的实际测试,基于1600w 512维向量建库,然后在R100@1000 (即召回top 1000个,然后统计包含有多少个实际距离最近的top 100)= 87%的前提下单机15线程可以达到1000的qps,这个性能应该是可以满足大部分的推荐系统召回模块性能需求了。向量搜索一例:把图片转换成向量然后进行k-NN搜索从而实现相似图片匹配功能Faiss 的原理.

2020-05-21 11:15:38 14113 6

转载 【Numpy】np.savetxt保存时数据不使用科学计数法形式

使用np.savetxt可以dump数据np.set_printoptions(suppress=True)np.set_printoptions(precision=4) #设精度np.savetxt('data_name‘, data.view(-1, 1), fmt='%.04f') #保留4位小数numpy在print时会有...省略掉中间部分,如果希望显示处完整数组:np.set_printoptions(threshold=np.inf)...

2020-05-19 16:06:45 7361 2

原创 【Numpy】python判断一个变量是否为numpy数据类型

功能:判断数据是否为numpy的数据类型,如果为转成python中的list类型。import numpy as npdef np_to_list(arr): this_type_str = type(arr) if this_type_str is np.ndarray: arr = arr.tolist() elif this_type_str in [np.int, np.int32, np.int64]: arr = [int(ar.

2020-05-19 15:58:14 11380 3

转载 【Python】 numpy中运算符* @ mutiply dot的用法分析

https://blog.csdn.net/Invokar/article/details/89532476引言:最近同学在做机器学习作业时,代码中遇到了*@np.mutiply.dot这个几个numpy的运算,发现有点晕,于是我在这里做几个简单的对比,以及列举需要注意的问题首先先给一个比较简单的用法解释:*:根据数据类型的不同,可能是做点乘运算,也可能做矩阵乘法运算@:只做矩阵乘法运算.dot:只做矩阵乘...

2020-05-19 10:09:45 1004

原创 【Python】PIL读取并处理图片(来自于scipy.misc库中代码)

由于scipy在1.2.0后删除了misc。为了能够使得代码使用类似于misc的读取功能,因此将读取图片的代码从1.2.0库中剥离出来,具体如下所示。from PIL import Imagefrom numpy import arraydef fromimage(im, flatten=False, mode=None): """ Return a copy of a PIL image as a numpy array. This function is only.

2020-05-18 13:54:13 1035

转载 【Python】多线程(三)

https://www.cnblogs.com/shenh/p/10825656.html

2020-05-16 13:43:42 181

原创 【Docker】常用指令

查看已经运行和退出指令sudo docker ps -a

2020-05-15 19:00:12 174

转载 【Milvus】参考链接

https://github.com/milvus-io/milvushttps://milvus.io/cn/blogs/2019-08-29-vector-search-billion.mdhttps://milvus.io/cn/docs/v0.8.0/reference/data_manage.md

2020-05-15 16:26:12 287

转载 Tensorflow同时加载使用多个模型

在Tensorflow中,所有操作对象都包装到相应的Session中的,所以想要使用不同的模型就需要将这些模型加载到不同的Session中并在使用的时候申明是哪个Session,从而避免由于Session和想使用的模型不匹配导致的错误。而使用多个graph,就需要为每个graph使用不同的Session,但是每个graph也可以在多个Session中使用,这个时候就需要在每个Session使用的时候明确申明使用的graph。g1 = tf.Graph() # 加载到Session 1的graphg2

2020-05-15 10:47:33 1215

翻译 【Faiss】索引选择指南(三)

1

2020-05-14 16:27:41 2187

翻译 【Faiss】基础使用:聚类,降维,量化

聚类import faissimport pickleimport numpy as npimport timex = np.random.random((100000, 2048)).astype('float32')ncentroids = 1000niter = 500verbose = Trued = x.shape[1]start_time = time.time()'''d:向量维度ncentroids:聚类中心niter:迭代次数verbose:.

2020-05-14 14:10:05 6106

转载 玩转WORD字体设置:WORD字间距怎么调整,WORD字体怎么调大等

WORD作为最好的文字处理软件之一,在日常办公中,是不可或缺的。而作为文字处理软件,WORD关于字体的操作尤为重要。今天,奇点来临小编就和大家分享下WORD字体的一些技巧,如果您觉得有用,可以转发给朋友。一,字体的常规操作1.快捷操作(字体调大)WORD字体快捷键是CTRL+D,如下图,一般来说,WORD默认字体是:宋体,常规,五号。文字的字号越小,字体越大,比如一号大于三号;数字的字体数字越大,字体越大,比如34号大于31号,默认字体最大是72号,可以手动设置成更大字体,比如100号,甚至20

2020-05-14 11:12:55 2276

转载 【Python】多进程之消费者模式

Python 3 并发编程多进程之队列(推荐使用)进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的。可以往队列里放任意类型的数据创建队列的类(底层就是以管道和锁定的方式实现):1 Queue([maxsize]):创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。参数介绍:1 maxsize是队列中允许最大项数,省略则无大小限制。方法介绍:

2020-05-13 22:06:03 447

转载 【Python】一个文件里面多个函数和py文件同时执行( 多线程)

D:\code\mutil_process下创建文件apply_2_program.py#coding=utf-8import time# from selenium import webdriverimport threadingimport osdef fun1(a): print(a)def fun2(): print(222)def process_img(): os.system('python D:/code/mutil_process/2_p.

2020-05-13 20:42:20 3745 1

转载 解决python3读取Python2存储的pickle文件

我在使用python3.5处理一个序列化文件xxx.pk,不过这个.pk文件是我在python2.7里面存储的,当我用python3读取的时候就会报如下的错误。import picklepicklefile=open('2ohsumed_wmd_d.pk','rb')data=pickle.load(picklefile)print (data)UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 11:.

2020-05-13 10:49:50 591

转载 【Faiss】简介及示例,索引类型

https://blog.csdn.net/kanbuqinghuanyizhang/article/details/80774609

2020-05-12 20:17:33 3925 1

原创 【Python】计算圆度

圆度计算公式:4*PI*A/P^2 其中PI表示Π,A表示区域面积,P表示区域周长。def compute_roundness(label_image): contours, hierarchy = cv2.findContours(np.array(label_image, dtype=np.uint8), cv2.RETR_TREE, ...

2020-05-06 16:39:25 10768 1

转载 【pandas】 to_csv 保存数据出现中文乱码问题及解决办法

使用 df.to_csv(file_name2, encoding='utf_8_sig') 后中文乱码问题解决了df.to_csv(file_name3,encoding="utf_8_sig")

2020-05-06 15:28:11 526

MIL-nature-medicine-2019-master.zip

Clinical-grade computational pathology using weakly supervised deep learning on whole slide images论文代码,加了一点自己的解读。具体解读博客为:https://blog.csdn.net/u013066730/article/details/96705542#commentBox

2019-10-15

netframework 清理工具

netframework 清理工具1.0到4.62

2016-12-29

microsoft math

这是一款比较强大的计算器,可以进行作图,可以进行计算等等

2013-12-06

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

TA关注的人

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