利用 Python 把 vsdx 文件转为图像
vsdx 是微软提供的 visio 画图软件生成的文件扩展格式,本篇介绍在没有安装 visio 软件的情况下利用 Python 把别人发来的 vsdx 文件转化为图像。
安装依赖包假设 Python 已经安装配置好,那么还需要安装微软提供的 visio api: aspose-diagram,该包依赖 jpype1:
1pip install aspose-diagram jpype1
微软提供了各种 APIs 来转换 vsdx,我这里演示使用 Python via Java,因此需要在机器上安装 java jdk :
123wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gztar -xzvf jdk-17_linux-x64_bin.tar.gzsudo mv jdk-17.0.8 /usr/local/java
使用123456789101112# 转成 jpegimport osos.environ["JAVA_HOME"] = "/usr/l ...
docker 安装代码托管平台 gitlab
代码托管网站有 github、gitee 等,但是 github 访问不是很通畅,gitee 总是审查严格。有些代码团队开发共享而暂时不方便公开时,使用自己搭建的代码托管平台会更合适些。本篇介绍如何利用 dokcer 搭建私人代码托管平台 gitlab。
安装假设 docker 和 docker-compose 已经按照完成。如果没有安装,可以参考我的另一篇博客:docker 简单介绍.
下面跟着命令进行安装:
12345678910111213141516171819202122232425262728293031323334# 创建工作目录cd /disk0/proj-pfmkdir gitlab# hostname 改为自己的; external_url 改为自己的,8901 与 ports 里的端口映射对应上,不然后面通过 http 克隆代码库时会找不到链接。# ssh 端口根据自己修改更改# 把数据、配置文件和日志等保存到宿主机,方便后面更新镜像库cat > /disk0/proj-pf/docker-compose.yml <<-"EOF& ...
子网掩码简单介绍
办公室有个人把自己服务器的子网掩码设置为 255.255.255.254,导致他这台电脑只能联网,但是,别的电脑连接不上该服务器(如SSH),甚至 ping 不通该服务器。本篇简单介绍下子网掩码的作用。
简介在 ipv4 中,子网掩码依附于 ip 地址,用于子网划分。把 ip 地址划分为网络地址和主机地址两部分。
子网掩码是一个 32 位地址,用于屏蔽 ip 地址的一部分以区别网络表示和主机标识,并说明该 ip 地址是在局域网上,还是在远程网上。
常用子网掩码常用的子网掩码是 255.255.255.0,转化为二进制就是 11111111.11111111.11111111.00000000,有 24 个连续的 1 和 8 个连续的 0 组成。连续的 1 表示网络地址,连续的 0 表示主机地址。8 个 0 表示该子网掩码划分的子网容量为 256 个,即 $2^8$,说明 ip 地址 192.168.1.0-192.168.1.255 在同一个子网中。其中第一个 ip 地址 192.168.1.0 为网段地址,最后一个地址 192.168.1.255 为广播地址,都不可以使用。因此能够使 ...
Windows 上免费安装 MicroSoft 提供的正版 Office
4e91858472dc45295cd172d75b7e9bd417e177a0676ec0aef9b4aa7ad4b95d38ddc6766cdb625276db9c30ede249295b90188eb73a20923852c89b38d306cdb54b40e4cee68549e929f2cd7424d4913d6a86a92f201f8d9fc7eb71f859441625d2f595c6851a395ff023a872928c01953526580ebfe73dd374f84454db8c04fd3ccbffe618c60547b8e998de972110618f0c340a0a3696757c628bceef2dffe98a7b4482e8e309d2d0bef152d15bafe1731674d90f81cb4cac7ca3644fe21ba6b8e29287f944d845df0282500c4427bd9ae942e8efa94766ba87ed1d7a7808d5f6c518103686811c085712ea2769602f1fd9654508aec171a ...
Mac 上安装 microsoft office
d7420555dbd47e034be0c72be203a7e39beaaf363f893904aa7a0d6f3a6dd17628bfb815a4eb1824e5399d6cddd8f22b67d542a6ede26adea789c3067e5a514cd5fc095e398a6b18e193a124e3ed411afcaedd57cae6f403e1f85013d36a7e620e6f34338b4c3c76208e6afdeb024d047e348e4ac7e627a2a56021357fe822ac5176259432fe899975140e2abb20bf82fffc6c4022c5016eff66e8553952c00b97ddf933f24fb937e0d94d74ff475b758fae6718b971fd5a42451487f818b42d9b7d71d365fa855f6a88a4b205bc985afa104d75c740f6d3714b243f8e5a88f629a0609ad7ca26d93aee4deeee82b144eb131777dcbc796be ...
用于文生图的 AI 模型 Stable Diffusion 的部署
d7420555dbd47e034be0c72be203a7e31a7f7760e7dd70a428f4eaeaa12f67f7227243bf7c8255e86da03c70ba55a39ac77d3df2cee4832c794f5b350d649b4817e32ff251eaebcec81520923aaa06281768e7115bb7691f611ac5040e7a902529707e94ddd377103112a4eebf27d186cbb90d6411c3e2e6429769145522e8fb728318d6657eff19af7d18b8613fe547009866795b6a12d34fdb533e66d99083528a38acf043d9baa754a3f4f4b652889bb95e6b52c03c7a7f30be87855eecd6dde3055f56acae67c5aa94d463c6883b39fc0fdfe5a3a8a90bb44cf87c87a333f61cf8886e55da096960b5585c936b8505b3ed6d9b7309f37 ...
python 虚拟环境 venv 介绍
在 Python 开发中,为不同的工程项目创建不同的开发环境是常见现象,这是因为不同项目可能需要不同的包版本依赖。除了非常好用的 conda 创建 Python 虚拟环境外,Python 自带有创建虚拟环境的方法,这种虚拟环境轻量,在一些项目中会用到,如 stable diffusion webui 等。本篇进行介绍。
venv 虚拟环境创建假设服务器上 Pyhton 已经安装完成,且配置好环境变量。
12345678# 先创建一个空目录,用来存放新的虚拟环境文件mkdir -p /home/jinzhongxu/newenv# 进入环境目录,创建虚拟环境cd /home/jinzhongxu/newenvpython -m venv .# 或者指定目录直接创建虚拟环境,而不需要进入目录python -m venv /home/jinzhongxu/newenv
其实,创建的虚拟环境,就是把 Python 的一些可执行文件,如 pip, python 移动或创建软连接到该目录。
1234567891011121314151617181920$ ls /home/jinzhongx ...
Python 多进程 multiprocessing 在 Linux、Mac 和 Windows 上的区别
Python 中多进程模型 multiprocessing 在不同操作系统 api 不同,导致运行差异。本篇对其进行介绍。
介绍导致差异的根本原因是多进程启动的方式
在 Linux 操作系统中,默认创建子进程的方式是 fork,而在 Mac/Windows 系统中,默认创建子进程的方式是 spawn。查看启动方式可以使用如下 Python 代码:
1234import multiprocessingif __name__ == "__main__": print(multiprocessing.get_start_method())
在 Windows 上只能使用 spawn,但是,在 Linux 和 Mac(给予 Unix)上却可以设置采用哪种启动方式,方法如下:
12345import multiprocessingif __name__ == "__main__": multiprocessing.set_start_method("fork") # "fork" or ...
Mac ssh 连接 Linux 终端中文显示乱码解决方法
Mac 通过 ssh 远程连接 linux 终端,文件或文件夹中文名显示为乱码,而 Mac 本地中文显示正常,Linux 本地显示中文也正常。本篇解决该问题。
方法首先查看 Linux 终端配置
1locale
显示为如下:
123456789101112131415LANG=en_US.UTF-8LANGUAGE=LC_CTYPE="en_US.UTF-8"LC_NUMERIC=zh_CN.UTF-8LC_TIME=zh_CN.UTF-8LC_COLLATE="en_US.UTF-8"LC_MONETARY=zh_CN.UTF-8LC_MESSAGES="en_US.UTF-8"LC_PAPER=zh_CN.UTF-8LC_NAME=zh_CN.UTF-8LC_ADDRESS=zh_CN.UTF-8LC_TELEPHONE=zh_CN.UTF-8LC_MEASUREMENT=zh_CN.UTF-8LC_IDENTIFICATION=zh_CN.UTF-8LC_ALL=
然后再查看 Mac 终端配置
1locale
显示结 ...
Python 数学符号计算模块 sympy
Python 是一种广泛使用的解释型、高级和通用的编程语言。除了 numpy 提供科学计算外,还有 sympy 用于数学符号计算。
安装sympy 的安装非常简单,使用 pip install sympy 即可完成。更详细的安装教程请参考 sympy Installation 官网。
下面直接进入使用介绍
使用命令行如果您已经安装了 sympy,那么在命令行就可以直接使用,就行使用 python 或 ipython 一样,方法如下:
123456789101112131415$ isympyNo event loop hook running.IPython console for SymPy 1.10.1 (Python 3.9.17-64-bit) (ground types: python)These commands were executed:>>> from sympy import *>>> x, y, z, t = symbols('x y z t')>>> k, m, n = symbols ...
Jaccard 相似系数和 Dice 系数
Jaccard 相似系数和 Dice 系数都是度量两个集合相似度的方法,在计算机视觉图像分割上有应用。本篇介绍它们的区别与联系。
Jaccard 相似系数Jaccard 相似系数(Jaccard similarity coefficient)又称为 Jaccard 指数(Jaccard index)、交并比(Intersection over Union),它能够度量有限样本集合的相似度,定义为两个集合交集大小与并集大小之间的比例:$$J(A,B)=\frac{|A\cap{B}|}{|A\cup{B}|}=\frac{|A\cap{B}|}{|A|+|B|-|A\cap{B}|}$$从上式可以看出,只有当 $A\cap{B}=\varnothing$ 时,$J(A, B)=0$;当 $A\cap{B}=A=B$ 时,$J(A, B) = 1$。即有:$0 \leq J(A, B) \leq 1$.
在计算机视觉分割、检测中常用的 IoU 就是 Jaccard 相似系数。
Jaccard 距离对于 Jaccard ...













