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 ...
Ubuntu 限制网络速度
本篇介绍一种限制 Ubuntu 网卡带宽的方法。
安装12sudo apt updatesudo apt install wondershaper
使用12345# 限制网卡 eno1 的带宽,下载速度为 200kb/s,上传速度为 24kb/ssudo wondershaper eno1 2000 240# 取消网卡限速sudo wondershaper clear eno1
参考文献
Ubuntu 网络限速
Wondershaper在Ubuntu中限制网卡速度带宽
Linux 查看压缩文件内容
当一个压缩包比较大的时候,如何快速知道里面的文件名称,本篇介绍 Linux 上查看压缩包内文件名称的方法。
rar 压缩包123rar v archive.rarunrar l archive.rar
zip 压缩包12345zip -sf archive.zipunzip -l archive.zipzipinfo archive.zip
参考文献
Linux下查看压缩文件内容的 10 种方法
PyTorch 迁移学习之模型结构修改和参数微调
PyTorch 迁移学习实例。使用 resnet 模型框架在 cifar10 数据集上进行模型迁移学习。
导入依赖包123456789101112import copyimport osfrom datetime import datetimeimport matplotlib.pyplot as pltimport numpy as npimport torchimport torch.optim as optimimport visdomfrom torch import nnfrom torch.utils.data import DataLoaderfrom torchvision import datasets, models, transforms
12torch.manual_seed(33)device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
数据读取与预处理操作数据结构数如下:
$ tree -L 2 /disk1/ ...
PyTorch 模型保存与再训练
PyTorch 模型保存与再训练,基于 MNIST 数据集。
导入依赖包123456789import osimport matplotlib.pyplot as pltimport torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimimport torchvisionfrom torch.utils.data import DataLoader
加载数据123456789n_epochs = 10batch_size_train = 128batch_size_test = 1000learning_rate = 0.01momentum = 0.5log_interval = 20torch.manual_seed(33)device = torch.device("cuda:1" if torch.cuda.is_available() else "cpu")device
device(type='cu ...