![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python3
*小呆
程序...跳了舞
展开
-
python加速记录
python 多进程/线程加速原创 2022-08-18 15:46:44 · 378 阅读 · 0 评论 -
matplotlib 二元变量分析
from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfrom scipy.special import softmaxfig = plt.figure()ax = Axes3D(fig)X = np.arange(0.1, 1, 0.05)Y = np.arange(0.1, 1, 0.05)X, Y = np.meshgrid(X, Y)# Z = X.原创 2022-04-16 21:24:28 · 1705 阅读 · 0 评论 -
Pytorch 训练停止,输出显示 died with <Signals,SIGKILL.9> 问题定位过程记录
最近使用 Pytorch 进行模型训练时,模型在训练到一小部分后程序均被停止。第一次以为是由于机器上其他人的误操作,故而直接重新拉起训练。但第二次程序终止时,发现基本与第一次训练停止的训练 iteration 一致,故而尝试对问题进行定位。问题描述具体而言,在使用 Pytorch 训练时的错误信息类似如下所示: File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec)转载 2022-02-22 10:27:40 · 3720 阅读 · 0 评论 -
python process 多进程
查看计算机最大进程数(不支持win)ulimit -uprocess 多进程for 循环用多进程优化,我的电脑测试快了7-8倍,并行数目很大时候会报错,因为计算机无法支持那么多进程。这里我用了一下 i%32==0,先暂时同步一下进程。注意,这部分程序必须写到 __name__ == "__main__" 里面。target后面跟的是函数名称args就是函数的参数列表from multiprocessing import Processif __name__ == "__main__":原创 2022-01-14 17:18:41 · 509 阅读 · 0 评论 -
python 生成目录结构 & 绝对路径导入问题
生成目录结构树状目录结构生成WorkingDirection/├────point2mask/│ └────main-v1.py├────statistics_point/│ ├────__init__.py│ ├────do_statistics.py更改下面代码路径就行了import refrom pathlib import Pathfrom pathlib import WindowsPathfrom typing import Optional, Li原创 2022-01-13 20:27:40 · 354 阅读 · 0 评论 -
给定一个文件夹,把所有文件名保存到txt中
记录,防止忘记import osimport numpy as npdef path_dir(path, dtype="no"): if not dtype: raise RuntimeError("No data type for the image.") fname = os.listdir(path) fname = [x for x in fname] # fname = [x for x in fname if x.endswith(dt.原创 2021-05-02 10:23:09 · 171 阅读 · 0 评论 -
Python list[:] 的那些小细节
C++ 函数调用变量时候会显式声明究竟是不是引用。而python默认就是引用关系。也就是说函数中更改同名变量(前提是函数中没有define)那么外部的变量就可能会改变。一个小实验展示如下:# 原始地址In [153]: id(nums)Out[153]: 1817895976264# 取切片,已经不是原来的地址了In [154]: id(nums[:])Out[154]: 1817895952584# 再取一个,另开辟一个新的地址In [155]: id(nums[1:])Out.原创 2021-04-24 22:42:37 · 212 阅读 · 0 评论 -
sliding windows infer 模型
输入一张大图和一个model,使用两个stride刚好密铺滑窗。def do_overlap(data, model, stride=[96, 164], hp=224, wp=224): # h, w = 2336, 3504 _, _, h, w = data.shape output = torch.zeros(h, w) frequency = torch.zeros(h, w) for i in range(0, h-hp+stride[0.原创 2021-04-21 10:07:05 · 551 阅读 · 0 评论 -
图像sliding windows裁剪patch
记录,防止自己又重新写一遍。。。# -*- coding: utf-8 -*-# @Time : 2021/4/20 14:47# @Author : Mingxing Li# @FileName: crop_image.py# @Software: PyCharmimport numpy as npimport osfrom PIL import Image, ImageOpscs = [224, 224]stride = 112data_dir = r"H:\My.原创 2021-04-21 09:52:45 · 355 阅读 · 2 评论 -
通过terminal/cmd 向python传递参数
简单的用法如下:import argparseparser = argparse.ArgumentParser(description='description...')parser.add_argument('--output_path', type=str, default='', help='output file path')args = parser.parse_args()print(args.output_path)这里的"- -"指的是可有可无, 通常会加一个default原创 2020-12-23 17:39:37 · 636 阅读 · 0 评论 -
python 相对路径报错
报错内容Traceback (most recent call last): File "/braindat/lab/limx/MitoEM2021/CODE/Author/baseline/pytorch_connectomics-master/scripts/main.py", line 5, in <module> from connectomics.config import get_cfg_defaults, save_all_cfg, update_inference_原创 2020-12-03 22:49:06 · 1567 阅读 · 2 评论 -
python 输出 0000, 0001, 0002 类型字符
简单记录print("{:0>4d}".format(34))输出0034.原创 2020-11-07 15:59:07 · 6847 阅读 · 0 评论 -
[pytorch] 可视化中间重要特征图
使用opencv可视化,保存到本地import cv2单通道可视化cv2.imwrite("x.tiff", x.cpu().numpy()[0,0,...])三通道彩色可视化 (PIL读入时)cv2.imwrite("erase_d.tiff", (x2.cpu().numpy()[0,...].transpose(1,2,0)*255)[...,::-1原创 2020-09-24 09:53:44 · 1340 阅读 · 0 评论 -
opencv-python 读入图像的 “BUG”
之所以“BUG”打引号,是因为opencv-python 读入图像和我的通道习惯排列(RGB)不一样,不是真bug。Opencv-python 读入图像后图像是BGR排列,所以可视化和RGB不一样。opencv 修改前data = cv2.imread(data, -1)修改后data = cv2.imread(data, -1)data = cv2.cvtColor(data, cv2.COLOR_BGR2RGB)# 或者使用img_rgb3 = img[:,:,::-1].原创 2020-06-07 21:12:58 · 279 阅读 · 0 评论 -
[pycharm 调试] 查看当前运行目录
调试的时候有很多相对路径,所以需要参考当前目录。这里记录当前目录查看方案。debug中:alt+f8print(os.getcwd())原创 2020-04-11 18:24:25 · 3269 阅读 · 0 评论 -
python 创建字典/更新/删除键值对
老忘记,记录。目录创建字典更新字典Reference创建字典# 直接创建f = {}# 赋值创建f = {'spam':1, 'egg':2, 'bar':3}# 二元组创建list = [('spam', 1), ('egg', 2), ('bar', 3)]dic = dict(list)print(dic) # output: {'bar': 3, 'egg': 2...原创 2020-04-11 18:05:05 · 2874 阅读 · 0 评论 -
python 读取保存三维图像数据
目录0. Motivation1. 失败的case2. 成功的case2.1 SimpleITK2.2 可视化0. Motivation因为项目需求,我需要将256×256×64256\times256\times64256×256×64大小的图像存入本地,本来数据是h5文件存储的,可是那样不方便可视化。所以,为了直观起见,我想将三维图像数据保存到本地,方便可视化。1. 失败的case使...原创 2020-04-01 12:07:50 · 6436 阅读 · 4 评论 -
python 安装 libtiff报错解决方案
我在windows环境下使用了如下两种方案,第一种报错了,第二种安装没报错,但是import时候报错。# 1pip install libtiff# 2conda install libtiff最后在网上查到可能是因为我的win系统是盗版。。。vs等一些依赖有问题。(问题根源暂时定为这个)解决方案:打开网址:传送门。在这里下载自己的版本,注意py版本/系统位数。然后pip in...原创 2020-03-31 21:38:39 · 1376 阅读 · 0 评论 -
python在某一文件夹下索引特定格式文件,并排序
下午写了一个函数。功能是python在某一文件夹下索引特定格式文件。每次项目总要写一遍,干脆share出来。我目前写的是识别出h5的后缀然后返回一个list,这个list包含了一系列含h5的文件目录。并且code中对目录进行排序,防止了ubuntu与win不兼容的场景。sort是in place的,没有返回值。# -*- coding: UTF-8 -*-# file: h5_view.py...原创 2020-03-31 19:09:40 · 790 阅读 · 1 评论 -
python 如果文件夹不存在 创建文件夹
if not os.path.exists(dirs): os.makedirs(dirs)记得提前import os原创 2020-01-14 16:00:41 · 21366 阅读 · 1 评论 -
[译]python *与**的用法
1.*指定参数和 ** kwargs我发现大多数新的python程序员都很难找出* args和** kwargs魔术变量。那他们是什么?首先让我告诉您,不必写* args或** kwargs。仅*(星号)是必需的。您可能还编写了* var和** vars。编写* args和** kwargs只是一个惯例。因此,现在让我们首先看看* args。1.1。* args的用法* args和** kw...转载 2019-10-18 10:01:08 · 186 阅读 · 0 评论 -
[转载] 深入理解PNG、jpg、gif、tiff
PNG filesChoose PNG when you need a small file that maintains its original quality. PNG files support millions of colors, plus varying degrees of transparency — so they’re perfect for graphic image ...转载 2018-11-26 13:37:45 · 359 阅读 · 0 评论 -
python 多进程记录
如果main没有参数 pool.map(main,【这里怎么办】) 如果没有参数就不要用pool了,pool就是为了把参数里的任务队列分配给进程池里的几个进程并行运算。如果就为了开几个进程直接用Process类就行了。比如开4个进程: Python code 1 2 3 4 5 6 import m...转载 2018-11-24 17:10:22 · 185 阅读 · 0 评论 -
入门 python 正则化表达式
以前一直没看,觉得复杂,当下稍微闲了一点,恰小雨,学性大发,记之。正则表达式通俗说就是与字符串打交道,所以我们得知道除了平常说的“普通字符”外,还有“元字符”。元字符的字典很多,比如http://www.runoob.com/regexp/regexp-metachar.html。看着很复杂,其实也是用到的时候再找。1.导入 reIn [3]: import re这个是py...原创 2018-11-11 15:01:18 · 1543 阅读 · 1 评论 -
python3 面向对象知识点小结 [持续更新]
目录1.实例方法如何调用实例变量2.实例方法如何调用类变量3.类方法是啥?4.类方法如何调用类变量?5.类方法和实例方法,啥区别?6.什么是静态方法7.成员的可见性8.如何理解python对私有变量的保护机制9.python的继承基础(__init__)10.python的继承:方法重写11. 理解python 鸭子类型,顺便多态12.访问限制1...原创 2018-10-30 15:16:27 · 295 阅读 · 0 评论 -
[iter(a)]*2 迭代器与zip()应用
iter() 是python中的迭代器,不太使用,下面展示两种功能。1.用于简单迭代In [53]: aOut[53]: [1, 2, 3, 4, 5, 6]In [54]: b = iter(a)In [55]: list(b)Out[55]: [1, 2, 3, 4, 5, 6]In [57]: type(b)Out[57]: list_iterator...原创 2018-09-20 15:11:21 · 466 阅读 · 0 评论 -
python 毕设保存图片格式 的坑【记录】
cv2.imwrite保存TIFF是LZW无损!!!!cv2.imwrite保存TIFF是LZW无损!!!!cv2.imwrite保存TIFF是LZW无损!!!!对于JPG格式保存下来的图片默认会变成8位BGR三通道格式的!!!!对于JPG格式保存下来的图片默认会变成8位BGR三通道格式的!!!!对于JPG格式保存下来的图片默认会变成8位BGR三通道格式的!!!!就算是你是...原创 2018-12-07 20:42:06 · 1767 阅读 · 0 评论 -
【20190320】pycharm 永久破解(推荐第二种)
PyCharm是由著名的JetBrains公司所打造的一款功能强大的Python IDE,它具有一般IDE都具备的功能,并且使用起来非常方便好用。最近需求PyCharm激活码的网友非常多,小编就在这里给大家分享一下PyCharm2019最新可用的激活注册码。激活Pycharm专业版的方法有很多,小编在这里主要给大家分享最有效的两种,一种是使用最新可用的注册激活码,一种是使用破解补丁的方法,这种方法...转载 2019-03-24 14:55:58 · 15083 阅读 · 2 评论 -
python-anaconda中科大镜像加速
conda加速老忘记命令,记录一下:conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/conda config --set show_c...原创 2019-03-28 13:05:46 · 4233 阅读 · 0 评论 -
matplotlib 不规则画布
plt.figure() plt.subplot(221) plt.imshow(original*65535-inverse_gamma, "gray") plt.axis('off') plt.title("residural images") plt.subplot(222) plt.imshow(original, "gray"...原创 2019-04-17 11:41:50 · 546 阅读 · 0 评论 -
pycharm 可以run但是不可以debug
今天犯了一个白痴错误。。如果你加了断点,可以run,但是不能debug,并且debug没有显示任何错误信息。你试试。。。在程序最开始加个断点,有可能是你的程序执行不到断点就error了,所以就自己停止了........原创 2019-04-22 22:27:58 · 2711 阅读 · 0 评论 -
pycharm 复制代码后 缩进出现问题
我从notepad++上copy了代码。复制到了pycharm上,然后回车编辑代码缩进出现问题。正确解决方案:Edit -> Convert Indents -> To Spaces恢复正常如果后续代码还有缩进问题,一个空格一个空格打,不要用tab就好了...原创 2019-08-03 14:20:23 · 5929 阅读 · 0 评论 -
语义分割data augmentation/ 三维数据集
图像分割的数据增广(data augmentation) 需要将data与label同时进行相同的变换,这里使用imgaug库进行增广。原创 2019-08-11 10:29:13 · 1219 阅读 · 8 评论 -
小白 初入leetcode笔记:两数之和(python3)
题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]1、range多用作循环,range(0,10)返回一个range对象,如想返...原创 2018-09-19 15:09:40 · 249 阅读 · 0 评论