python
ONE_SIX_MIX
等待翻身的咸鱼E
展开
-
使用 python ffmpeg 批量检查 音频文件 是否损坏或不完整
批量测试音频文件是否损坏原创 2023-12-04 18:36:48 · 1434 阅读 · 0 评论 -
python 替换字符串中 windows非法字符 到对应的 全角合法字符
替换后,就能保留原意,不需要损失信息了。windows中,非法文件字符有以下。简易python代码如下。对应的合法全角字符为。原创 2023-09-22 17:05:31 · 348 阅读 · 0 评论 -
python 为 网易云下载的 本地音乐文件增加 序号
网易云下载的音乐文件,信息挺全的,但是缺少序号,用本地播放器听是乱序的,就很头疼。遂写一个python脚本解决问题本python会把基于音乐文件的元信息,重命名文件 到 以下格式序号 标题.后缀。原创 2023-09-22 15:53:14 · 352 阅读 · 1 评论 -
python3 windows 获得真正的系统编码 而不是 UTF8
专用于 windows。原创 2023-08-25 17:48:56 · 499 阅读 · 3 评论 -
openslide / tiffslide 获得 宏观图macro 和 标签图label
openslide / tiffslide 获得宏观图和标签图原创 2023-08-17 16:02:53 · 260 阅读 · 0 评论 -
python3 force-relative-import 强制使用任意父级相对导入,越过python相对导入限制,拒绝 ImportError
写了一个强制相对导入特性,修改了 import 的实现逻辑,从而允许导入任意父级的包,而不会报以下错误。这是一个强制启用python相对导入的库,允许你忽略python的相对导入限制。修改 python3 的 import 函数,从而实现挂钩hook或更改其行为。目录示例,example_N 均为直接启动目标。仅建议用于主程序,不要用于模块或包。修改import逻辑的方法来自这里。使用作用域,以避免意外情况。以下为搬过来的仓库介绍。原创 2023-04-30 19:14:00 · 912 阅读 · 0 评论 -
torchdata DataPipe 和 DataLoader2 快速入门和使用
pytorch 使用 multiprocess库 让 Dataloader 不再报错 AttributeError: Can‘t pickle local object。torchdata 使用了 dill 替代了 pickle, 从而允许在spawn多进程模式下转移复杂的数据集。以下为使用 torchdata 的示例,SimpleDataset 可以直接替换为你自己的函数。是该博文的另一种解决方法。原创 2023-04-27 14:59:54 · 828 阅读 · 0 评论 -
pytorch 使用 multiprocess库 让 Dataloader 不再报错 AttributeError: Can‘t pickle local object
pytorch 的 dataloader 默认使用 python 自带的多进程库 multiprocessing ,它又使用 pickle 作为序列化库。pickle 库只能储存一些简单类型。如果 dataset 中使用 lambda 函数对象,将会导致出现这样的错误 AttributeError: Can’t pickle local objectmultiprocess 的 pip 安装方法。原创 2023-04-26 16:19:40 · 1842 阅读 · 1 评论 -
python3 简单爬虫入门 抓取男神图
爬虫入门参考原创 2023-03-10 00:21:29 · 442 阅读 · 0 评论 -
pydub AudioSegment 编码 解码 字节流,不通过硬盘文件。
需要把AI生成音频信息通过网络发送,使用 pydub 来完成编码解码。不希望使用临时文件。原创 2023-02-12 02:10:06 · 881 阅读 · 0 评论 -
bleu-mp 多进程bleu评估工具
我改的多进程 bleu 评估工具,已发布到 pypi 上Github 仓库:https://github.com/One-sixth/bleu-mpGitee 仓库:https://gitee.com/ONE_SIX_MIX/bleu-mp原创 2023-02-05 02:41:28 · 491 阅读 · 0 评论 -
python 转换文本从繁体到简体,但保留一切繁体符号
使用 unicodedata 来识别每个字符是属于字集还是符号集,即可获得手动转换表。zhconv 在进行繁简转换时,会顺带着把符号都转换为简体形式。将手动转换表输入为 zhconv.convert 的参数即可。处理简繁混杂的文本。原创 2023-01-20 04:04:19 · 327 阅读 · 0 评论 -
修改 python3 的 import 函数,从而实现挂钩hook或更改其行为
该文件可以在pycharm的 PyCharm\plugins\python-ce\helpers\pydev_pydev_bundle 目录中找到。方法发现自 pycharm 的python挂钩代码 pydev_import_hook.py。原始想法是突破python对顶层包的限制,从而允许在当前目录或父目录使用相对位置加载模块。下面是一个例子,阻止 collections 模块加载。本修改对整个python程序生效。原理,修改 builtins.原创 2023-01-17 16:35:59 · 334 阅读 · 0 评论 -
兼容 big5码 或 ShiftJis码 的扩展编码页
big5 和 shiftjis 字符集解析出错时,怎么办。原创 2022-12-24 20:36:28 · 135 阅读 · 0 评论 -
导入 csv, excel 文件或 pandas.DataFrame 到 awkward 数组
pandas 的操作很不习惯,还是喜好 numpy 那种操作方式。awkward 正好符合这个要求。原创 2022-12-02 21:15:23 · 145 阅读 · 0 评论 -
python ffmpeg 使用 pyav 转换 一组图像 到 视频
FFMPEG 命令行转换 一组JPG图像 到视频时,是将这组图像视为 MJPG 流。我需要转换一组 PNG 图像到视频,FFMPEG 就不认了。因此我 python ffmpeg 的包装 pyav写一个命令行工具,可以转换一组任意格式图像到视频,来解决这个问题。视频尺寸为第一张图像的大小编码方式为 crf 18编码时间参考:i7-8750H 5分钟1080P 30FPS 视频,编码时间约为 30 分钟requirement.txtopencv-pythontqdmavclick使用方原创 2022-05-04 17:52:46 · 3324 阅读 · 0 评论 -
python 使用 tifffile 写入 svs 文件。
首先感谢!!!!我自己!!!!!然后感谢编写 tifffile 的大佬!!!我终于TMD的成功编写了一个SVS文件,并被Openslide完美识别!!!!!CTMD我绝对相信这能为后来人节省大量的时间!!!!总结! CTMD原创 2022-04-03 18:08:04 · 3802 阅读 · 33 评论 -
pythonnet 3.0版本 安装和使用第三方C# DLL库。
使用的 pythonnet 为尚在测试的 3.0 版本。该版本直接舍弃了一大堆依赖,安装非常简单。# 当前最新(截止至2022/3/29)的预发行版本pip install pythonnet==3.0.0a23.0.0 版本不再限定某个 python 3.X 版本,而是全部 python 3.X 版本都可以直接安装。因为自3.0.0版本开始,pythonnet 把对 C# 的依赖全都变成了动态依赖于系统的 Net库,而不是再封装到wheel里面。简单的基于pythonnet 导入第三方库的DL原创 2022-03-29 14:57:35 · 2361 阅读 · 4 评论 -
pythonnet 在 Python中 转换 Bitmap 到 bytes
要在 python 调用 C# 的库,心态爆炸我无法在python中导入 System.Drawing 包,这里测试使用的 Bitmap对象来自于其他 DLL 返回。pythonnet 版本为 2022年的预发行版 3.0.0a2import pythonnetimport clrfrom System.IO import SeekOriginfrom System.IO import MemoryStreamfrom System.Collections import *# 主要函数,使原创 2022-03-29 14:32:00 · 664 阅读 · 0 评论 -
tifffile 写入保存 巨大的 金字塔 tile ome-tiff 图像文件
tiffslide 开源仓库:https://github.com/bayer-science-for-a-better-life/tiffslidetifffile 开源仓库:https://github.com/cgohlke/tifffile保存的 ome-tiff 大图可以使用 qupath(新的开源病理标准软件,内存占用较少,并能自动切换金字塔分辨率) 或一般的图像浏览器(内存占用很大,只能看到最高分辨率图像)打开。可以使用 python库 openslide-python 打开,但只能读到原创 2022-03-18 18:34:45 · 6456 阅读 · 9 评论 -
fid-helper-pytorch 简单易用的 FID 计算工具
fid-helper-pytorchGithub 仓库地址:https://github.com/One-sixth/fid-helper-pytorchGitee 仓库地址:等待增加这是一个FID助手工具。提供了一个简单方便的接口来计算FID。仓库使用pytorch jit script来打包模型,包含了一个默认模型。:default_1 的模型和权重来自 styleganv3 fid tool。文件夹 make_default_model 包含了默认模型的编译脚本。我本想实现一个简单的f原创 2022-03-16 23:53:21 · 5360 阅读 · 10 评论 -
python windows,linux,mac osx快速获得当前家目录 主用户目录
2022/11/18 新增方法2,更加简单,并且兼容性更好。代码段,便于快速复制。原创 2022-03-16 20:59:57 · 3635 阅读 · 0 评论 -
pynng 超快速上手,但不保熟
nng 是 zeromq 的后辈,nanomsg 的 下一代的消息处理库。主要就是快,上手超快,消息收发也超快。本机 python 3.9 + pynng 0.7.1 本地环回测试 10000次1G数据,只需要1秒就可以完成。nng相比zeromq的目前发现优势,链接状态全自动维护,自动重连,掉线重连能快速恢复,数据发送不完整时能自动无限重发(默认情况),报头能全定义从而能支持http协议,速度飞快。以下4个简单完整例子_try_push_pull.py_try_pair_pair.py_tr原创 2022-01-10 23:56:23 · 1855 阅读 · 2 评论 -
pytorch speed benchmark
简单写了个东西,用来测试不同显卡,不同驱动跑pytorch的速度。默认参数下gtx1070占用显存3g运行时间约3分钟。显卡速度越快,运行时间越短。'''用于测试显卡速度'''import osimport torchimport torch.nn as nnfrom torch.backends import cudnnimport argparseimport timeimport datetimeimport platformdef ConvBnAct(in_ch原创 2021-10-06 20:28:10 · 1055 阅读 · 0 评论 -
blender script 快速删除零权重和空的顶点组
原始脚本来源https://blog.csdn.net/u011086331/article/details/103246839https://blender.stackexchange.com/questions/16517/how-to-quickly-remove-all-zero-weight-vertex-groups#快速删除活动物体的零权重和空的顶点组我就增加一下注释,改下变量名,便于自己学习使用方法,保存以下脚本,然后在blender script 面板打开然后选中你要处理的模型原创 2021-10-02 16:56:38 · 3349 阅读 · 0 评论 -
skimage.transform.resize 缩放多维数组时的大坑
执行以下代码。你会发现输出都是0import numpy as npfrom skimage.transform import resizea = resize(np.ones([1,5,5])+100, [64, 64, 64], 1, mode='constant', preserve_range=True, anti_aliasing=False)print(a.max(), a.min())# 不管输入是什么,输出都是0,是不是很神奇,建议直接换函数解决出现该bug原因与 形状原创 2021-08-31 17:48:48 · 1565 阅读 · 0 评论 -
python/numpy 判断一个输入是一个整数标量,而不是浮点数或整数数组
要同时兼容python基础类型和numpy类型。同时要求不能对float和np.float类型做出响应。import numpy as npdef is_int(s): return isinstance(s, int) or (np.isscalar(s) and np.issubsctype(np.asarray(s), np.integer))print(is_int(1.2))print(is_int(np.float32(1.2)))print(is_int(np.floa原创 2021-08-20 16:14:57 · 918 阅读 · 0 评论 -
一条命令把数据保存pickle然后gzip保存和读取
便于快速查询一条命令保存和读取import pickle, gzip# 任意原始数据write_data = [1,2,3]# 一条龙保存open(‘1.pkl.gz’, 'wb').write(gzip.compress(pickle.dumps(write_data)))# 一条龙读取read_data = pickle.loads(gzip.decompress(open(‘1.pkl.gz’, 'rb').read()))print(read_data)...原创 2021-01-22 14:55:58 · 879 阅读 · 0 评论 -
CUDA 运算错误检测代码
相关事件:https://blog.csdn.net/ONE_SIX_MIX/article/details/109251125显卡部分损坏,或者插槽不稳,导致运算时出现错误计算的数值。编写了一个python代码来检测cuda运算的问题原理:使用可逆运算原理,进行计算后然后恢复数值,比较恢复的数值和原始数值的差距,从而判断CUDA是否运算出错本机为1070ti,运算误差均在 1e-5 以下以下代码占用显存约2.3g,如果运算半小时没出问题,或者正常结束,你的显卡可能没有CUDA运算错误问题问题如原创 2020-10-28 22:04:51 · 1577 阅读 · 14 评论 -
APK 包名修改工具
因为一些特殊用途,需要修改包名。流程基本固定,写了个工具快速修改。github:https://github.com/One-sixth/apk_package_rename_toolAPK 包名修改工具。依赖python liblxmlargparse不止要安装python依赖库,你还需要预先安装java运行库用来运行apktool和signapk。如何使用下载这个储存库安装python,python的依赖库,java运行时库运行命令 python apk_package_ren原创 2020-08-20 14:38:50 · 4935 阅读 · 0 评论 -
Repel Coding 编码实现 python 1904.08864
本编码方式来自论文Enhanced Center Coding for Cell Detection with Convolutional Neural Networkshttps://arxiv.org/abs/1904.08864?context=cs.CV公式:效果:实现:import numpy as npfrom skimage.transform import rotate as sk_rotatefrom skimage.draw import disk as sk_dis原创 2020-07-29 15:52:09 · 246 阅读 · 1 评论 -
求俩向量角度 允许超过180度 python
原理:将2维向量扩展到3维向量,求叉乘得到新向量,检查新向量的第三维坐标是正的还是负的,即可判断角度属于0-180还是180-360import numpy as npdef calc_angle_2(v1, v2): ''' 支持大于180度计算 :param v1: :param v2: :return: ''' r = np.arccos(np.dot(v1, v2) / (np.linalg.norm(v1, 2) * np.linalg原创 2020-07-22 10:09:57 · 2050 阅读 · 2 评论 -
记录:python 求两直线交点
本人数学渣渣,公式来自知乎大佬,大佬真是太强了。https://www.zhihu.com/question/381406535/answer/1095948349用方程法,避开了算K,真是太强了x2。def calc_abc_from_line_2d(x0, y0, x1, y1): a = y0 - y1 b = x1 - x0 c = x0*y1 - x1*y0 return a, b, cdef get_line_cross_point(line1, li原创 2020-07-17 17:24:15 · 4221 阅读 · 0 评论 -
python3.8 dll FileNotFoundError dll查找方式变更
太坑了,更新到 python 3.8 ,一些库的dll突然就找不到了。参照链接https://stackoverflow.com/questions/58631512/pywin32-and-python-3-8-0/58632354#58632354ctypes.cdll.LoadLibrarypython 3.8 之后,ctypes 加载 dll 时不再依赖 环境变量PATH。修改PATH没用了。现在需要使用 os.add_dll_directoryimport osos.add_dll原创 2020-07-07 14:51:59 · 5152 阅读 · 13 评论 -
Aperio ImageScope xml 读写工具 python
代码储存在Github仓库:https://github.com/One-sixth/imagescope_xml_utils这是一个 Aperio ImageScope 的 XML标签文件读写类支持读取和写入 方框,轮廓,箭头,椭圆标签。目前不支持读取和写入 xml 的元数据注意,因本人习惯原因。坐标排列顺序为 yx,不是xy。详情更多请参见代码仓库Readme坐标格式:boxe...原创 2020-03-25 11:46:52 · 3637 阅读 · 0 评论 -
美化 xml 工具 pretty_xml
终于再也不需要在网页上排版xml了,早该写这东西了。参考了这个博客 https://blog.csdn.net/xcookies/article/details/78647242python3 程序,用法很简单新建一个文本文件并改名为 pretty_xml.py将下面的源码写进去保存需要依赖包 lxml,如果没有就用以下命令安装依赖pip install lxml使用方法方法1...原创 2020-03-10 18:10:45 · 1321 阅读 · 0 评论 -
numpy 数组转 QImage 然后显示到 QLabel
pyqt5不熟,百度看大佬示例,搞了半小时,记录一下外部链接:https://blog.csdn.net/qq_32973061/article/details/81139689https://blog.csdn.net/ccchen706/article/details/71425653from PyQt5.QtWidgets import QApplication, QLabelfr...原创 2020-02-23 02:57:58 · 3786 阅读 · 2 评论 -
转换 ND 矩阵到 one hot 向量,仅使用 numpy
想了半小时,假装很优雅。。。import numpy as npdef one_hot(class_array: np.ndarray, class_num): ''' 可将[D1, D2, D3, ..., DN] 矩阵转换为 [D1, D2, ..., DN, D(N+1)] 的独热矩阵 :param class_array: [D1, D2, ..., DN]...原创 2019-12-02 14:42:59 · 395 阅读 · 0 评论 -
让 sns.heatmap 的数字不使用科学计数法
搞来搞去,又是一小时,记录一下只需要增加 fmt 参数即可import matplotlib.pyplot as pltplt.rcParams['font.size'] = 100没了,你再show图的时候,发现所有图里面所有的字都变大了完整例子import numpy as npimport seaborn as snsimport matplotlib.pyplot as...原创 2019-11-12 15:35:10 · 7062 阅读 · 0 评论 -
imageio 读写多通道16位 PNG
方法来源https://github.com/imageio/imageio/issues/146#issuecomment-281509008imageio 后端默认使用 PIL 库读写文件,这个PIL库不支持 多通道 16bit PNG格式,需要更改后端为 FreeImage 才能支持首次使用需要用以下命令安装FreeImage后端import imageioimageio.plug...原创 2019-11-03 18:14:02 · 1698 阅读 · 0 评论