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 ...
Linux 安全(永久)删除文件和文件夹
Linux 系统上的文件或文件夹的安全(永久)删除常用的方法有 shred, wipe 和 srm,下面对其进行介绍。
shred 重写覆盖删除文件安装
12sudo apt updatesudo apt install shred
使用
12# 删除文件 filepath.txt shred -uvz -n 5 filepath.txt
其中,各参数含义:
u 覆盖后截断并删除文件
v 显示进度
z 最后一次用0覆盖,以隐藏覆盖操作
n 指定覆盖文件内容的次数,默认是3
更多参数及解释请使用命令 man shred 查看
该方法只能覆盖重写删除文件,无法处理文件夹。
wipe 永久删除磁存储器的文件和文件夹安装
12sudo apt updatesudo apt install wipe
使用
1wipe -rfi dirpath
其中,各参数含义:
r 递归子目录
f 强制删除,不用确认
i 显示进度
更多参数及解释请使用命令 man wipe 查看
该方法只能删除磁存储器,对于固态硬盘需要使用其他方法,如下面的方法。
srm 安全删除文件和文件夹安装
12sudo a ...
PyTorch 进行 MNIST 图片分类
PyTorch 图像分类,数据集采用内置的 MNIST.
加载数据集12345678910111213import matplotlib.pyplot as pltimport numpy as npimport torchimport torchvisionimport visdomfrom torch import nnfrom torch.utils.data import DataLoaderfrom torchvision import transformstorch.manual_seed(33)device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")device
device(type='cuda', index=0)
12345678910111213train_ds = torchvision.datasets.MNIST( "/workspace/disk1/datasets/", ...
PyTorch 多层感知机
PyTorch 多层感知机,数据集来自:nivedithabhandary/HR-Analytics
数据预处理12345678import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport torchfrom sklearn.model_selection import train_test_splitfrom torch.utils.data import TensorDatasettorch.manual_seed(33)
<torch._C.Generator at 0x7fabe84e8e90>
1path = "/workspace/disk1/datasets/scalar/HR_comma_sep.csv"
12data = pd.read_csv(path)data.head(3)
.dataframe tbody tr th:only-of-type {
vertical-align: ...
PyTorch 逻辑回归
PyTorch 逻辑回归,数据集:UCI Iris Data Set
导入依赖包1234567import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport torchimport torch.nn as nnimport torch.optim as optimimport visdom
1torch.__version__, torch.manual_seed(33)
('1.12.1+cu102', <torch._C.Generator at 0x7f753ca60e90>)
加载数据集1path = "/workspace/disk1/datasets/scalar/iris.data.csv"
12data = pd.read_csv(path)data.head(3)
.dataframe tbody tr th:only-of-type {
vertical-align: midd ...
PyTorch 线性回归
利用 PyTorch 进行线性回归,采用 kaggle 波士顿房价预测数据集
导入依赖包1234567import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport torchimport torch.nn as nnimport torch.optim as optimimport visdom
1torch.__version__
'1.12.1+cu102'
加载数据123path = "/workspace/disk1/datasets/scalar/train_dataset.csv"data = pd.read_csv(path)data.head(3)
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
& ...
Linux 批量修改文件名
Linux 中有一些命令能够非常方便的修改文件名,如 rename 等。本篇注意介绍 Ubuntu 系统中该命令的一般使用方法。
安装123456# Debian/Ubuntu 安装方法sudo apt updatesudo apt install -y rename# Mac 安装方法brew install rename
使用本篇介绍的 rename 版本是 Perl 版本,还有 C 版本,使用方法参见博文:Linux 批处理:修改文件名和文件内容
Linux 中修改单个文件名的方法是 mv 命令,我们可以借助管道符修改多个文件的文件名:
123456ls `pwd`# 结果如下,包含两个以 .txt 结尾的文件# hello.txt world.txt# 修改文件扩展名为 .pyfind `pwd` -name '*.txt' | awk -F '.' '{print $1}' | xargs -I {} mv {}.txt {}.py ...
Python 代码性能分析
Python 是一门非常优秀的面向对象的解释性语言,代码编写快且易读(但从代码字面意义上)。如果非要挑出一个缺点,那就是代码的执行速度相对于 C、Java、Golang 等语言较慢,不过在 3.11 版的 Python 运行速度已经进行大幅提高。但是,对于 Python 代码的性能分析仍然不可或缺,这有助于找出耗时的代码部分,通过优化能够加速程序运行。本篇介绍一些 Python 代码性能分析的方法。
代码的性能分析跟代码执行时间密切相关,只不过它关注的是耗时的位置。默认的 Python 性能分析工具是 cProfile 模块,它在执行一个程序或代码块时,会记录各函数所耗费的时间。但它不是转为 Python 设计的。
cProfile 一般是在命令行上使用的,它将执行整个程序然后输出各函数的执行时间。我们首先编写一个 Python 模块 py_performance.py:
1234567891011121314151617import numpy as npfrom numpy.linalg import eigvalsnp.random.seed(33)def run_exper ...