python
陈城南
这个作者很懒,什么都没留下…
展开
-
一文搞定 Python matplotlib 快速绘折线图(多子图、坐标轴刻度范围、字体设置)
1. Python matplotlib 绘制折线图(多子图、坐标轴刻度范围、)没有例图的教程都是耍流氓如果你想画出下图,请继续看先看绘图示意,本图主要完成这样几个点(对比图看)绘制折线图绘制多子图折线图控制坐标轴的刻度、范围、标签控制全图字体格式坐标轴标红、纵竖线引出直接看代码,有注释,根据需要选取import matplotlib.pyplot as plt# 设置字体格式font1 = {'family' : 'Times New Roman','weight'原创 2021-05-29 11:52:06 · 7775 阅读 · 0 评论 -
python 字典存储为mat并用matlab读取绘图
python 字典存储并用matlab读取绘图在 python 中对字典文件存储 mat 格式import scipy.io as sciod = {'a':[1, 2, 3], 'b':2}path = 'xxx.mat'scio.savemat(path, d)在 matlab 脚本中对数据进行读取并绘图path = 'xxx.mat'load(path) % 此时a, b 已经被读取到变量空间中bar(a) % 绘图saveas(1, 'xxx', 'jp.原创 2021-03-14 13:40:01 · 1740 阅读 · 0 评论 -
pytorch 取对角线元素/矩阵对角线元素置0
pytorch 取对角线元素/矩阵对角线元素置0使用 torch.diag 取对角线元素,使用 torch.diag_embed() 恢复维度import torcha = torch.randn(3, 3)print(a)tensor([[ 0.7594, 0.8073, -0.1344], [-1.7335, -0.4356, -0.0055], [ 1.8326, 0.3900, -0.9933]])diag = torch.diag(a) #原创 2021-03-07 16:45:48 · 20512 阅读 · 0 评论 -
tf.matrix_band_part 与 torch.tril 使用
tf.matrix_band_part 与 torch.tril 使用这两个函数都是用来取矩阵的某一块值的,简单使用如下tf.matrix_band_parttf.matrix_band_part(m, -1, 0) 表示取矩阵的下左三角,不包括斜对角。同理,tf.matrix_band_part(m, 0, -1)表示取矩阵的右上三角,不包括斜对角。其他操作详细见tf.matrix_band_part,搭配transpose可灵活取值;torch.triltorch.tril.原创 2021-03-03 16:21:54 · 1124 阅读 · 3 评论 -
简单实现视频转化为字符视频
最简单的从零实现正常视频转字符视频把大象关进冰箱需要三步将视频按帧提取为图片序列将图片依次转化为字符图片将字符图片按帧重新合称为视频环境配置本项目主要利用视频处理库 moviepy 来读取处理视频,利用图片处理库 PIL 来处理图片(视频的每一帧)pip install moivepy# 也可利用万能安装模板来加速pip --default-timeout=100 install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple原创 2020-08-26 14:20:46 · 1686 阅读 · 0 评论 -
Pytorch 学习(十一):Pytorch 图片处理与数据增广
Pytorch 图片处理与数据增广本方法总结自《动手学深度学习》(Pytorch版)github项目Pytorch 数据增广主要依赖于 torchvision.transform 库图片读取from PIL import Imageimg = Image.open('./a.jpg')图片增广单一增广import torchvisionaug1 = torchvision.transforms.RandomHorizontalFlip(p=0.5) # 随机水平翻转,原创 2020-06-16 15:22:45 · 1188 阅读 · 2 评论 -
Pytorch 学习(十):Pytorch 模型在 CPU 与 GPU 上的迁移
Pytorch 模型在 CPU 与 GPU 上的迁移本方法总结自《动手学深度学习》(Pytorch版)github项目Pytorch计算时必须保证模型和参与当前过程的所有数据都在同一个设备(GPU 或 CPU)上CPU 与 GPU 的相互转化import torchimport torch.nn as nnx = torch.randn(1, 2)net = nn.Sequential( nn.Linear(1, 1))if torch.cuda.is_availabl原创 2020-06-15 19:53:06 · 1933 阅读 · 0 评论 -
Pytorch 学习(九):Pytorch 数据和模型存取
Pytorch 网络模型创建本方法总结自《动手学深度学习》(Pytorch版)github项目Pytorch 存储和读取主要依靠 load 和 save 函数模型存取依靠 load_state_dict() 函数数据存储与读取import torchpath = 'p.pth' # 'p.pt'a = torch.tensor(1)torch.save(a, path)b = torch.load(path)模型存取仅存储/加载模型参数model = net()s原创 2020-06-15 19:03:12 · 324 阅读 · 0 评论 -
Pytorch 学习(八):Pytorch 模型参数访问和初始化
Pytorch 模型参数访问和初始化本方法总结自《动手学深度学习》(Pytorch版)github项目网络构建网络构建相关可参考 Pytorch 学习(七):Pytorch 网络模型创建,建立一个多层感知器import torchimport torch.nn as nnnet = nn.Sequential( nn.Linear(2, 2), nn.ReLU(), nn.Linear(2, 1),)参数访问for param in net.paramete原创 2020-06-15 16:36:31 · 428 阅读 · 0 评论 -
Pytorch 学习(七):Pytorch 网络模型创建
Pytorch 网络模型创建本方法总结自《动手学深度学习》(Pytorch版)github项目部分内容延续 Pytorch 学习(五):Pytorch 实现多层感知机(MLP) 实现方法常用的网络搭建方法有继承 Module 方法利用 Sequential, ModuleList 和 ModuleDict 类创建多种方法的同时使用继承 Module 方法在 Pytorch 学习(五)中构建多层感知器网络时,便使用了继承 torch.nn.Module 的方法,这是最常用的网络模型原创 2020-06-15 15:41:42 · 343 阅读 · 0 评论 -
Pytorch 学习(六):Pytorch 解决过拟合问题(L2 权值衰减和 Dropout)
Pytorch 解决过拟合问题(L2 权值衰减和 Dropout)本方法总结自《动手学深度学习》(Pytorch版)github项目部分内容延续 Pytorch 学习(五):Pytorch 实现多层感知机(MLP) 实现方法上一节用 Pytorch 实现了多层感知器。在解决实际问题时,可能会出现过拟合现象,常用的解决方法有数据增广和正则化,L2 权值衰减和 Dropout 都属于正则化的范畴L2 权值衰减(weight decay)以均值方差(MSE)损失函数为例,通常情况下LMS原创 2020-06-15 12:02:36 · 1748 阅读 · 0 评论 -
Pytorch 学习(五):Pytorch 实现多层感知机(MLP)
Pytorch 实现多层感知机(MLP)本方法总结自《动手学深度学习》(Pytorch版)github项目部分内容延续Pytorch 学习(四):Pytorch 实现 Softmax 回归实现方法实现多层感知器(Multlayer Perceptron)同样遵循以下步骤:数据集读取 模型搭建和参数初始化 损失函数和下降器构建 模型训练方法一:从零开始实现import torchimport torch.nn as nnimport numpy as npimport..原创 2020-06-15 09:45:31 · 17494 阅读 · 0 评论 -
Pytorch 学习(四):Pytorch 实现 Softmax 回归
Pytorch 实现 Softmax 回归本方法参考自《动手学深度学习》(Pytorch版)github项目一般步骤构建数据集和以 batch 为单位的数据读取 构建模型及其初始化、损失函数、下降方法 训练网络及评估方法一:造轮子法从零搭建 Softmax 回归有三个关键点Softmax 方法实现 交叉熵函数实现 精度评估实现Softmax 方法实现def softmax(x): x_exp = x.exp() # m * n partition = x_原创 2020-06-14 18:16:36 · 3468 阅读 · 0 评论 -
Pytorch 学习(三):Pytorch 线性回归模型实现
Pytorch 入门:线性回归实现本方法源自《动手学深度学习》(Pytorch版)github项目对于一个简单线性回归问题,使用 Pytorch 利用梯度下降法进行解决问题陈述对于公式 ,其中为公式参数的真值。现需要创建模拟数据、构建线性回归模型并对参数进行梯度求解。实验过程创建 和 的数据,随机生成 1000 个 样本,根据公式计算出 并添加随机噪声,编写 batch 的数据读取方式 构建线性回归计算过程、损失函数、SGD 梯度下降过程并对参数 和 初始化 ..原创 2020-06-14 12:24:31 · 883 阅读 · 0 评论 -
Pytorch 学习(二):Pytorch 梯度简单操作
Pytorch 中梯度简单理解Pytorch 的 tensor 带有梯度属性,tensor.grad_fn 存储梯度信息,利用 backward 函数可进行梯度回传import torchx = torch.randn(2, 2, requires_grad=True) # requires_gard 打开梯度同样可以这样打开梯度x = torch.randn(2, 2)x.requires_gard_(True)继续构建计算图print(x, x.grad_fn)原创 2020-06-14 10:03:55 · 1282 阅读 · 0 评论 -
Pytorch 学习(一):Pytorch 简单数据操作
Pytorch 中的简单数据操作数据在 Pytorch 中以 tensor 的形式存在,简单的数据创建方法import torchx = torch.randn(2, 2) # 创建一个 2 x 2 的随机值 tensory = torch.zeros(2, 2) # 创建一个 2 x 2 的全 1 tensorz = torch.tensor([[1.0, 1.0], [1.0, 1.0]], dtype=torch.float32) # 直接赋值创建 2 x 2 的 tensor原创 2020-06-13 21:42:49 · 393 阅读 · 0 评论 -
python语法复习
#coding=utf-8l = [1, 2, 3]l = l[::-1]'''class slice(stop)class slice(start, stop[, step])'''# inputx = input("Please input x:")# outputprint(x) # 默认换行print(x, end = '') #不换行print("%d...原创 2018-10-22 21:28:42 · 299 阅读 · 0 评论