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 ...
Mac 安装 java 开发环境 jdk
本篇介绍如何在 Mac 上安装 Java 开发环境,即安装 Java JDK。
手动下载安装访问 Oracle 官网下载适合的 JDK 版本。建议下载长期支持版。注意,Mac M1 请选择 arm 64 版本,Mac Intel 请选择 x64. 我这里以 Java 17 命令行版本为例,各版本如下:
Product/file description
File size
Download
ARM64 Compressed Archive
168.12 MB
https://download.oracle.com/java/17/latest/jdk-17_macos-aarch64_bin.tar.gz ( sha256)
ARM64 DMG Installer
167.55 MB
https://download.oracle.com/java/17/latest/jdk-17_macos-aarch64_bin.dmg ( sha256)
x64 Compressed Archive
170.56 MB
https://download.oracl ...
Mac 重装操作系统
Mac 电脑永久了安装最新版的操作系统后也还是会卡顿。如 2018 版的 intel 芯片的 macbook pro 安装 macOS 13 Ventura(范朵拉),会出现 CPU 占用高,发热卡顿现象。因此,需要降级到老版本,如 macOS 10.13 High Sierra(内华达高脊山脉)或者 macOS 10.15 Catalina (圣卡塔利娜岛).
使用网络重装电脑购买时默认的安装版本是 macOS 10.13 High Sierra(内华达高脊山脉),使用网络可重新安装这个版本。安装前请先备份电脑资料。安装步骤如下:
重启电脑,同时按住 command + r 键;
点击磁盘工具,进入磁盘管理;
选择左边的内置磁盘,选择工具栏的抹掉(此处会格式化磁盘,所有数据将会丢失);
关闭磁盘工具;
点击安装 macOS;
按照提示进行联网安装,耗费时间长,且易出现链接 apple 网络不成功。
使用网络重装,不需要额外的工具,操作简单,但耗费时间长。
使用U盘启动盘安装使用U盘安装,需要事先制作 U 盘启动盘,我这里使用的是 diskmaker x,制作方法请自行百度,或 ...
Mac 上安装 homebrew
Mac 上最常用的软件包管理工具应该是 brew,本篇介绍如何在 Mac 上安装 brew.
homebrew 安装官方网址是 Homebrew, 安装 brew 的方法就是下面一个命令:
12345/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"# 如果出现 Curl: (60: SSL no alternative certificate subject name matches target host name "raw.githubusercontent.com'# 那么添加上 insecure,命令如下/bin/bash -c "$(curl -fsSL --insecure https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
从国内镜像站安装官方安装方法因为需要从 github 克隆下 ...
利用 OpenCV 寻找物体轮廓及表型量
OpenCV(python) 找二值图像的轮廓。轮廓是一系列相连的点组成的曲线,代表了物体的基本外形。轮廓是连续的,边缘并不全都图边缘包括轮廓。在 OpenCV 中其实边缘主要是作为图像的特征使用,比如可以用边缘特征可以区分脸和手,而轮廓主要用来分析物体的形态,比如物体的周长和面轮廓。
加载图像1img_url = "https://github.com/xujinzh/archive/blob/master/images/opencv/9.png?raw=true"
12345import cv2import matplotlib.pyplot as pltimport numpy as npimport requestsfrom PIL import Image
1234567response = requests.get(img_url, stream=True)img = np.array(Image.open(response.raw).convert("RGB"))img_init = img.copy()print(im ...
Ubuntu 停止 keyring 弹窗
Ubuntu 的密钥环是一项功能,可以在安全应用程序 (gnome-keyring) 中收集您的所有密码,并使用这些存储的密码自动登录您的各种服务。密钥环内存储的所有密码均受单个主密码的保护。当您在登录时首次提供系统密码时,密钥环将被“解锁”。启用了系统自动登录的用户可能已经注意到一条持续出现且烦人的弹出消息,显示登录密钥环在您登录计算机时未解锁。这只是 gnome-keyring 应用程序要求您输入密码,以便它可以用于对系统上的各种服务和应用程序进行身份验证。问题是,如果您仍然需要在每次重新启动某些其他应用程序时提供密码,那么自动登录并没有多大好处。在本教程中,您将了解如何在 Ubuntu Linux 系统上停用密钥环弹出窗口。
关闭 keyring 弹窗方法
打开 keyring 应用程序 passwords and keys;
在 passwords 栏下的 login 右键选择 change password;
输入当前用户的登录密码;
在输入新密码提示框不填写任何内容,直接点继续;
出现弹窗提示,直接点继续;
参考文献
How to disable keyring pop ...
Python 中随机种子设置保证结果可复现
在使用 Python 进行科学技术、深度学习模型训练与推断时,为了结果可复现,我们尝尝需要设置固定的随机种子,而不是采用非自定义的随机种子。本篇介绍对常用的包(numpy, random, torch)设置随机种子,保证计算结果可复现。
1234567891011121314151617181920import randomimport numpy as npimport torchdef setup_seed(seed=33): """ 设置随机种子函数,采用固定的随机种子使得结果可复现 seed:种子值,int """ torch.manual_seed(seed) # 为CPU设置随机种子 torch.cuda.manual_seed_all(seed) # 为所有GPU设置随机种子 np.random.seed(seed) # numpy 设置随机种子 random.seed(seed) # random 设置随机种子 # torch.backends.cudn ...
在 shell 中以命令行方式清空 jupyter notebook 的所有输出
Jupyter notebook 非常方便撰写 Python 代码和 Markdown,但是,当运行输出结果较多时,导致再次打开该 .ipynb 文件非常耗时,甚至因输出结果太大而打开失败。本篇介绍如何在 shell 上以命令行的方式清空 .ipynb 的所有输出结果,方便快速打开 .ipynb 文件在 Jupyter lab 或者 Jupyter notebook 中。
清空所有输出12# 清空 notebook.ipynb 的所有 cell 输出结果,只保留代码和 Markdownjupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace notebook.ipynb
参考文献
How to Clear Jupyter Notebooks Output in All Cells from the Linux Terminal
Windows 安装 Linux 子系统 wsl
Windows 系统上安装 Linux 子系统 wsl(Windows Subsystem for Linux) 能够非常方便的在 Windows 系统上使用 Linux 的边界命令。重要的是 wsl 非常轻量,比 docker、VMware Workstation、VMware Fusion、VirtualBox、QEMU 等都使用更少的资源,且 wsl 是 Windows 自家开发,与 Windows 融合度更高。
安装前准备安装 wsl 需要事先打开某些功能选项,默认 windows 是将这些功能处于关闭状态。打开方法如下:
按下键盘上的 Windows 图标,打开搜索;
搜索:control,打开控制面板;
搜索:启动或关闭windows功能;
打开 启动或关闭windows功能,勾选:1,适用于 Linux 的 Windows 子系统,2,虚拟机平台;
确定,重启主机。
安装打开终端,输入如下命令安装
12345678910111213141516171819202122# 打开帮助wsl --help# 设置版本,默认有2个版本,1和2,1是使用和主机相同的IP地址 ...
Linux 上查看某域名 IP 的几个方法
本篇介绍几个使用 Linux 终端命令查看域名 IP 地址的方法,所有命令都是在 Ubuntu 上测试,以普通用户运行。
pingping 命令通过向网络主机(某域名或某 IP)发送 ICMP ECHO_REQUEST 数据包来测试网络的联通性。当 ping 的对象是某域名时,能够返回该域名的 IP 地址。
1ping arxiv.org -c 3
结果
1234PING arxiv.org (128.84.21.199) 56(84) bytes of data.--- arxiv.org ping statistics ---3 packets transmitted, 0 received, 100% packet loss, time 2029ms
fpingfping 命令类似 ping,也是通过向网络主机(某域名或某 IP)发送 ICMP ECHO_REQUEST 数据包来测试网络的联通性。与 ping 不同的是 fping 能够同时指定任意多个网络主机(域名或 IP)
安装1sudo apt update && sudo apt install fp ...