日用小技能
文章平均质量分 60
深山里的小白羊
这个作者很懒,什么都没留下…
展开
-
dockerfile之vllm大模型镜像构建
基础镜像:nvidia/cuda:11.8.0-devel-ubuntu22.04。原创 2024-08-02 17:23:12 · 566 阅读 · 0 评论 -
Linux常用命令
1)8090为端口,可进行自定义2)在浏览器里面输入网址:http://服务器IP:端口(8080)原创 2024-07-29 02:56:19 · 1010 阅读 · 2 评论 -
Python包sklearn画ROC曲线和PR曲线
【代码】Python包sklearn画ROC曲线和PR曲线。原创 2023-08-16 15:49:22 · 2219 阅读 · 1 评论 -
Python查看链接文件的大小并下载文件
给定一个url,如何查看该链接是否有效?该链接文件有多大?以及如何下载该文件呢?原创 2023-08-16 15:20:14 · 407 阅读 · 0 评论 -
网络特征之PCA可视化-Python实现
PCA也是对网络特征可视化的一种方法,目的是对特征进行降维,然后通过图片的形式来对网络的特征提供一种解释。所以,本博客提供一个将网络特征进行PCA的可视化的代码,其原理为将C通道的特征降维到3通道,即图片的RGB通道,然后直接进行可视化。原创 2023-04-06 10:45:19 · 1128 阅读 · 0 评论 -
用于语义分割模型的t-SNE可视化
在之前的博客中,对t-SNE的原理进行了一个简单的介绍,也给出了一个简单的使用案例。这篇博客在之前的基础上实现在语义分割模型上的t-SNE可视化。语义分割模型中使用t-SNE的目的是,从模型的特征层面进行一定的可视化解释。比如属于同一类别的特征向量彼此聚集在一起,而属于不同类别的特征向量彼此相远。值得一提的是,分割模型中使用t-SNE较多的场景还是域自适应和域泛化分割任务上。在这些任务上,我们往往需要从特征层面上来解释网络缩小域差异的能力。原创 2023-04-05 23:30:32 · 4919 阅读 · 4 评论 -
Python可变对象与不可变对象的浅拷贝与深拷贝
本文主要介绍了python中容易面临的考试点和犯错点,即浅拷贝与深拷贝我们可以发现,赋值、浅拷贝和深拷贝后的变量的值是一样的,但他们的“内部”真的一样吗?本文就是回答这个问题的。原创 2023-03-06 21:24:43 · 656 阅读 · 0 评论 -
python logging使用教程
这些教程都说,使用logging里面的basicConfig函数就可以完成初始化,后面再使用logging.info就可以就日志保存在log文件里面去了的确这样能成功,但这样不能让保存的日志在terminal上显示我的一个需求就是我想程序日志在保存在log文件的同时还能在terminal上打印显示。原创 2023-02-16 16:41:09 · 602 阅读 · 0 评论 -
t-SNE可视化-Python实现
t-Distributed Stochastic Neighbor Embedding (t-SNE) 是一种无监督的非线性技术,主要用于数据探索和高维数据的可视化。简单来说,t-SNE 让您对数据在高维空间中的排列方式有一种感觉或直觉。它由 Laurens van der Maatens 和 Geoffrey Hinton 于 2008 年开发。简单来说就是高维数据可视化,目的是观察高维数据的之间的分布情况。原创 2022-09-13 22:02:19 · 18823 阅读 · 26 评论 -
Python内嵌函数eval的应用
简单来说,eval的作用有三点:1)将字符串类型的数字,列表,字典,元组等转换为对应的数据格式2)执行字符串类型的语句,比如执行字符串类型的print和pow等等3)进行字符串类型的数字运算,其实这一点也是属于第二点的,因为这一点是我平时使用eval函数最多的地方,所以单独作为一点作为重点...原创 2022-07-22 00:00:20 · 1845 阅读 · 0 评论 -
Python函数传参是值传递还是引用传递?
今天字节的面试官问到了这个问题,问:python函数对传入的变量进行一定的修改后,会影响函数外面这个变量的值吗,我回答的是如果是传入numpy数组就会改变。这个回答面试官估计是不满意的,现在就来认真研究一下这个问题。有一些博客已经给出了很好的结论(python的参数传递是值传递还是引用传递?都不是!):那现在我们按照这个结论来实战一下,在这个过程中我也发现了一些新的东西我的Python版本是:3.8.8打印结果:可见在函数里面修改数字变量,不会影响外面的变量打印结果:可见在函数里面修改字符串变量,原创 2022-07-13 22:21:44 · 419 阅读 · 0 评论 -
Python(pyexiv2)修改照片(证件照)的拍摄日期
介绍手机或者相机拍摄的照片都会有拍摄日期,特别在某些特殊的APP上上传证件照时,都会有一个日期检查,并要求上传6个月之内的照片。那如何修改照片上的拍摄日期呢?很多方法就是说在Windows系统上选中图片右键、选择属性、点击详细信息、最后修改拍摄日期,如下:通过这种方式修改后,再去APP上上传照片发现还是上传失败,这说明修改并没有成功。我们换一种图片查看器,即XnView MP,打开图片后,选择编辑->属性->EXIF,可以发现拍摄时间并没有变,如下:我们也可以继续查看IPTC-II原创 2022-05-25 12:05:20 · 2977 阅读 · 0 评论 -
使用Python和OpenCV中的calcOpticalFlowFarneback函数提取稠密光流并进行映射(warp)
介绍OpenCV中自带两个提取光流的函数:cv2.calcOpticalFlowPyrLK()cv2.calcOpticalFlowFarneback()其中calcOpticalFlowPyrLK函数是提取稀疏光流的函数,而本文主要关注calcOpticalFlowFarneback函数,并将它应用在一个真实的问题中具体的原理介绍可以参考知乎博客光流估计——从传统方法到深度学习真实问题是:给定两张图像,一张是带形变矫正的图像(unwraped_img.png),一张是参照图像(referen原创 2022-05-18 02:35:02 · 6069 阅读 · 13 评论 -
PyTorch可视化网络结构
1. 安装pytorchvizpip install git+https://github.com/szagoruyko/pytorchviz2. 导入torchviz包from torchviz import make_dot, make_dot_from_trace3. 可视化model = FusionGenerator(3,3,16)x = Variable(...原创 2018-12-14 21:06:15 · 2024 阅读 · 0 评论 -
LATEX中使用中文
在文章的开头加上:\usepackage{fontspec, xunicode, xltxtra} \setmainfont{Microsoft YaHei} \usepackage{ctex} 例如:原创 2019-01-17 13:35:55 · 9474 阅读 · 0 评论 -
VS2013/VS2017 Visual Assist X安装及破解
本篇博客参照:https://blog.csdn.net/e295166319/article/details/80803937 1.下载VAX以及破解软件下载链接:VAX下载 2.解压 3.如果之前安装了其他版本的VAX,请先卸载,卸载方法:打开VS-》工具-》扩展和更新:点击卸载,然后重启VS就会发现VAX卸载成功了 4.双击VA_X_S...原创 2018-10-10 13:34:59 · 28306 阅读 · 0 评论 -
Python-字典排序-依照字典值的大小
按照字典值的大小对字典进行降序排序只需一句话就可完成:sorted_results = sorted(your_dict.items(), key = lambda kv:(kv[1], kv[0]), reverse=True)返回的是一个list,里面每个元素是一个二元的tuple例如:[(‘zhangsan’, 3), (‘lisi’, 2), (‘wangwu’, 1)]...原创 2022-01-13 11:26:28 · 1105 阅读 · 0 评论 -
计算机视觉中常用期刊和会议名称缩写以及半缩写
常用文献缩写(ISO abbr.)期刊全称半缩写缩写IEEE Transactions on Neural Networks and Learning SystemsIEEE Trans. Neural Netw. Learn. Syst.TNNLSIEEE Transactions on Image ProcessingIEEE Trans. Image Process.TIPIEEE Transactions on Medical ImagingIEEE原创 2021-08-04 00:18:20 · 15549 阅读 · 0 评论 -
Windows/linux导出指定路径下的文件夹/文件的目录/结构树
前言当文件夹和文件数量比较多的时候,当需要知道相关文件夹和文件的依赖关系的时候,一个文件结构树就显得很有必要了,它简单明了地指出了指定路径下的所有文件夹和文件的依赖关系以及存储位置源码import osimport sysdef list_file(start_path, max_level=5): ''' start_path: 需要导出文件目录树的绝对路径, 例如: /home/soma max_level: 限制需要统计的文件级数, 例如: 5, 即超过5级(5个文原创 2021-07-12 11:37:34 · 1419 阅读 · 0 评论 -
pytorch提取骨架(可微)
前言提取骨架有许多现成的包,最简单直接的就是:from skimage.morphology import skeletonize, skeletonize_3d但今天要介绍另外一种提取骨架的方法!也可以理解为细化使用pytorch实现的目的是,这个过程是可微的,换言之,就可以梯度反传的,对于网络预测的mask,可以通过这个函数提取骨架,然后在骨架上约束物体的拓扑结构该方法来自于文献CVPR 2021:clDice - a Novel Topology-Preserving Loss Funct原创 2021-07-06 23:02:45 · 3699 阅读 · 13 评论 -
读取和保存zarr文件
前言zarr一种数据格式,和hdf文件有点类似,即一个文件里面可以包含很多不同的dataset与hdf文件不同,直观上看hdf是一个单一的文件,而zarr是一个文件夹,里面还包含不同的子文件夹(相当于hdf中的dataset),子文件夹下面保存着数据另一点,zarr分块保存数据,直白来讲,就是将一整块的数据划分成相同大小的子块,每个子块保存成一个文件,命名为*.*.*,这样处理的好处是对于大规模的医学图像非常友好还有两个特殊的文件是.zarray和.zattrs,里面分别保存着数据特性和大小信息等原创 2021-06-15 20:40:13 · 4254 阅读 · 7 评论 -
Cython入门:将python代码转为cython
前言本节不具体讲解cython的原理和细节,提供一个最简单的例子,将一个python代码转化为一个cython代码,同时由于本人对cython刚入门,只会一个简单的操作,即在cython中声明变量的类型。实验证明,就这样简单添加变量类型,代码运行速度提升了将近4倍cython对于代码中许多循环的情况很有帮助!python代码这里给的是CVPPP官方提供的evaluate代码(evaluate.py)为了节省空间,这里删除了注释和一些无关紧要的判断语句import numpy as npdef原创 2021-06-12 16:36:28 · 4730 阅读 · 6 评论 -
利用python和cloudvolume包从谷歌云盘中多线程下载数据
简介本文主要介绍利用python从谷歌云盘中下载数据集本文下载的数据是一个大规模的3D数据(volume或者2D图像序列),估计有1T左右保存在本地的格式是zarr格式,该格式下3D数据的存储方式为:[z, y, x]强调:该代码在Windows10系统上测试失败,在Ubuntu系统下测试成功,目前只支持Ubuntu系统下载!!!步骤前提你得知道数据在谷歌云盘的位置,例如:in_vol = "https://storage.googleapis.com/j0126-nature-method原创 2021-05-28 15:16:43 · 836 阅读 · 2 评论 -
利用python和boto3包从amazon s3 bucket中下载数据
前言本文主要介绍利用python从amazon s3 bucket下载数据集步骤前提在下载数据集之前,你得知道该数据的bucket,这个单词的意思是桶,水桶也是这个词,也就是说得知道你要得数据集放在哪个桶里面的:)另外你还得知道两个key,一个是access key,另一个是secret access key。这两个具体是啥我也不清楚……反正是类似于密码下面是一个例子bucket = 'open-neurodata'access_key = 'AKIA4XXGEV6ZQOTMTHX6'se原创 2021-05-22 20:21:49 · 3147 阅读 · 9 评论 -
loss和validation曲线对比
码代码import osimport argparseimport numpy as npimport matplotlib.pyplot as pltdef mean_list(valid_ids, valid_values, stride=10, iters=1000): length = len(valid_ids) nums = length // stride used_ids = [] mean_values = [] std_vallues原创 2021-03-21 22:36:01 · 1413 阅读 · 0 评论 -
Matplotlib画论文图之loss和validation曲线
前言每迭代100次保存一次loss值每迭代1000次保存一次validation值曲线表示平均值,背景表示方差码代码import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import rcParamsfrom matplotlib.ticker import FuncFormatterdef mean_list(valid_ids, valid_values, stride=2, iters=1000):原创 2021-03-21 22:07:10 · 5824 阅读 · 0 评论 -
Matplotlib画论文图之柱状图二
前言需求:使用两个y轴,每个坐标轴的刻度范围也不一样码代码import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import rcParamsfrom matplotlib.ticker import FuncFormatter, FormatStrFormatterfrom matplotlib.pyplot import MultipleLocator, colorbar# 全局设置字体为:Times New原创 2021-03-21 21:27:00 · 738 阅读 · 1 评论 -
Matplotlib画论文图之柱状图一
前言随便画一个柱状图直接使用plt.bar就搞定了但为了美化 或者放在论文里面就得有更多的其他要求了比如:使用Times New Roman字体,更大的字体还有在柱状上显示数值等等码代码import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import rcParamsfrom matplotlib.ticker import FuncFormatterfrom matplotlib.pyplot import M原创 2021-03-21 20:38:05 · 1662 阅读 · 0 评论 -
Windows快捷键
原创 2020-12-17 14:41:15 · 154 阅读 · 0 评论 -
Windows从服务器上批量下载文件
前言本人本地有一台Windows电脑(win10),当然一般不会在本地跑实验,实验都是在服务器上运行的,所以运行结果当然也就保存在了服务器上了。有时候为了可视化结果,就必须得从服务器上下载结果了本人经常使用的是XShell+Sftp,两个配套使用真的很方便,XShell用于运行命令,Xftp用于传输文件,这样做本是没有上面的问题的,但当结果很多的时候(很多txt文件和png图像),而且它们分布在不同的文件夹下,在使用Xftp的时候我就得进入不同的文件夹然后传输数据,操作虽然简单,但是却很繁琐,特别是当重原创 2020-11-24 23:10:08 · 4155 阅读 · 2 评论 -
Python图像增强(翻转和旋转)
前言在训练神经网络的时候,经常需要对原始图像做各种各样的增强来增加数据量,最常见的也就是旋转和翻转操作了,实现这两种操作也多种多样,本博客就是来探究不同操作带来的结果本文所有的实验都是基于2维的图像,即2维数组原始图为(https://baike.baidu.com/item/%E5%94%90%E8%80%81%E9%B8%AD/4344419?fr=aladdin):翻转(flip,flipud,fliplr)flip适用于所有的数组翻转,而flipud和fliplr一般用于图像(2维数组)原创 2020-11-19 21:08:21 · 11017 阅读 · 0 评论 -
conda/pip导出environment.yml/requirements.txt
pip 导出/导入 requirements.txt导出pip freeze > requirements.txt导出格式(范例):从文件中可以看到需要安装的package以及对应的版本导入pip install -r requirements.txtconda 导出/导入 requirements.txt导出conda list -e > requirements.txt导出格式(范例):单纯的一看,conda导出的文件没有pip导出来的东西那么单纯,里面有很多原创 2020-10-30 10:30:18 · 12576 阅读 · 4 评论 -
pytorch 计算模型的参数量
参考于:https://blog.csdn.net/jdzwanghao/article/details/84196239def model_structure(model): blank = ' ' print('-'*90) print('|'+' '*11+'weight name'+' '*10+'|' \ +' '*15+'weight shape'+' '*15+'|' \ +' '*3+'number'+' '*3+'|原创 2020-10-21 21:23:40 · 3788 阅读 · 0 评论 -
python 列表排序输出对应的索引
例如输入列表: [8, 2, 4]期望输出: [1, 2, 0]一句话可以搞定:rank = [index for index, value in sorted(list(enumerate(input_list)), key=lambda x:x[1])]实例:input_list = [8, 2, 4]rank = [index for index, value in sorted(list(enumerate(input_list)), key=lambda x:x[1])]print原创 2020-09-02 08:46:40 · 7004 阅读 · 0 评论 -
Windows10 通过隧道进行远程桌面连接
图片摘抄于:https://hellolzc.github.io/2020/04/port-forwarding-with-ssh/里面也有详细的介绍原创 2020-08-15 16:13:16 · 2100 阅读 · 0 评论 -
Python OpenCV 利用DNN模块进行目标检测,语义分割和风格转换
前言本文不介绍具体的原理,只展示Python下利用OpenCV的DNN模块进行自然图像下的目标检测,语义分割和风格转换OpenCV下的测试只能是进行推理过程,也就是网络的前向过程,而不能进行网络的训练目前OpenCV支持Caffe,TensorFlow,PyTorch,DarkNet,ONNX等多个框架,一些常用的深度卷积神经网络结构也支持,使用起来简单,非常方便(图片从《OpenCV深度学习应用与性能优化实践》中截取)但需要自己提前准备好训练好的模型,有点麻烦,只能去网上原创 2020-08-06 11:49:33 · 3670 阅读 · 2 评论 -
VSCode Pylint 消除OpenCV PyTorch等下面的红色波浪线
前言VSCode版本我是在Windows10下使用的最新版的VSCode:June 2020 (version 1.47)问题安装Anaconda后再安装VSCode,默认给我们安装了Pylint。而Pylint是什么呢,这里引用博客:pylint主要用来分析你的PY代码,查找出其中的错误,并给出提示,并且还可以为你提出一些编码风格的提示的一个PYTHON模块。总之,它的作用是使得你的代码更加的接近 PEP 008 (http://www.python.org/dev/peps/pep-0008原创 2020-07-29 20:15:58 · 3789 阅读 · 23 评论 -
Rand index(兰德指数)原理以及numpy和pytorch实现
什么是Rand指数关于Rand指数的定义我发现维基百科上总结得到位,我也就不再进行赘述,为了本文的完整性和以防国内打不开维基百科,我这里就当一次搬运工,当然有条件的还是建议去维基百科上去看原文~~Rand IndexThe Rand index or Rand measure (named after William M. Rand) in statistics, and in particular in data clustering, is a measure of the similarity原创 2020-07-16 18:47:56 · 4938 阅读 · 1 评论 -
Matplotlib作图小技巧
quiver这是画箭头的函数,本人一般用来画光流。。quiver(X,Y, flow_x, flow_y, color="#666666", headwidth=10, headlength=10)# X,Y: 网格# flow_x, flow_y:光流的两个维度# headwidth, headlength: 箭头头部大小的设置errorbar一般用来画均值方差plt.errorbar(all_length, y_mean, yerr=y_std)plt.errorbar(all_le原创 2020-07-10 16:15:13 · 364 阅读 · 1 评论 -
两张图像做简单直接的融合(blend)
from PIL import Imagedef blend_images(floder, img1_name, img2_name, alpha=0.5): img1 = img1_name # './img1.png' img1 = Image.open(img1) img1 = img1.convert('RGBA') img2 = img2_name # './img2.png' img2 = Image.open(img2) img2 =原创 2020-06-16 20:02:03 · 1425 阅读 · 0 评论