![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机视觉
文章平均质量分 76
陈城南
这个作者很懒,什么都没留下…
展开
-
【城南】如何识别AI生成图?视觉AIGC伪造检测技术综述
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ry2Qw8uO-1685675351028)(https://r3mu87a8e6.feishu.cn/space/api/box/stream/download/asynccode/?如何识别 AI 生成图片?or 如何识别 AIGC 图?or 如何识别 AI 换脸?or AI生成图伪造检测?类似的说法有很多种,总之就是利用AI技术来鉴别一张图是不是AI生成的,这种AI技术就是本文的内容。原创 2023-06-02 11:11:30 · 3809 阅读 · 0 评论 -
梯度下降法改进过程:从 SGD 到 Adam算法
1. SGD 梯度下降法1.1 梯度下降(Gradient Descent)梯度g指函数的某处的偏导数,指向函数上升方向。因此梯度下降法是指用梯度的负数-g更新参数,从而使下一次计算的结果向函数下降方向逼近,从而得到最小值。其中更新时乘的系数称为学习率。w∗=w−αΔw=w−α∂∂wLw^*=w-\alpha \Delta w = w-\alpha \frac{\partial}{\partial w}Lw∗=w−αΔw=w−α∂w∂L1.2 批次梯度下降(Batch Gradient Desce原创 2021-05-30 22:28:55 · 1005 阅读 · 0 评论 -
SSH 端口转发查看服务器 tensorboard 内容与Terminus Port forwarding 使用
SSH 端口转发查看服务器 tensorboard 内容与Terminus Port forwarding 使用如果直接用 ssh 查看,则:ssh -p 端口号 -L 16006:127.0.0.1:6006 usr@ipsource activate xxtensorboard --logdir=xx# 然后在本地浏览器里打开 http://127.0.0.1:16006/ 查看# 系统将对 16006端口的请求转发至对 服务器 6006 端口(tensorboard 用的端口)的请原创 2021-04-10 14:20:22 · 2211 阅读 · 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 · 1169 阅读 · 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 · 1908 阅读 · 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 · 313 阅读 · 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 · 419 阅读 · 0 评论 -
Pytorch 学习(七):Pytorch 网络模型创建
Pytorch 网络模型创建本方法总结自《动手学深度学习》(Pytorch版)github项目部分内容延续 Pytorch 学习(五):Pytorch 实现多层感知机(MLP) 实现方法常用的网络搭建方法有继承 Module 方法利用 Sequential, ModuleList 和 ModuleDict 类创建多种方法的同时使用继承 Module 方法在 Pytorch 学习(五)中构建多层感知器网络时,便使用了继承 torch.nn.Module 的方法,这是最常用的网络模型原创 2020-06-15 15:41:42 · 331 阅读 · 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 · 1728 阅读 · 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 · 17137 阅读 · 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 · 3411 阅读 · 0 评论 -
Pytorch 学习(三):Pytorch 线性回归模型实现
Pytorch 入门:线性回归实现本方法源自《动手学深度学习》(Pytorch版)github项目对于一个简单线性回归问题,使用 Pytorch 利用梯度下降法进行解决问题陈述对于公式 ,其中为公式参数的真值。现需要创建模拟数据、构建线性回归模型并对参数进行梯度求解。实验过程创建 和 的数据,随机生成 1000 个 样本,根据公式计算出 并添加随机噪声,编写 batch 的数据读取方式 构建线性回归计算过程、损失函数、SGD 梯度下降过程并对参数 和 初始化 ..原创 2020-06-14 12:24:31 · 863 阅读 · 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 · 1268 阅读 · 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 · 382 阅读 · 0 评论 -
Ubuntu中Anaconda安装opencv3
关于如何安装,这篇blog中已经给出了很好的方法:https://blog.csdn.net/isuccess88/article/details/73546835,但由于自前段时间开始换源已经不能解决anaconda的下载速度,因此即使使用此方法也很难进行下去,下载速度太慢了。我特地下载了opencv3的opencv3-3.2.0-py35(链接: https://pan.baidu.com...原创 2019-12-21 16:54:59 · 446 阅读 · 0 评论 -
利用Matlab进行相机标定并使用openCV进行简单三维重建
注:本文主要针对Matlab和OpenCV跨平台进行相机标定、单相机三维重建工作的实现,因为我发现网上竟然没有一篇博客径直指出这两者在进行图像处理时的巨大差异(坐标系完全不同),不然我也不会走了很多弯路(呜呜呜欲哭无泪~~~),先说最重要的点,“Matlab坐标系与OpenCV坐标系正好相反”,具体是怎么回事,继续往下看。本文实现的是单相机的三维重建,也就是单个相机从不同角度对同一物体进...原创 2019-10-23 18:08:23 · 3143 阅读 · 3 评论 -
安装OpenCV和opencv_contrib提示缺少boostdesc_bgm.i文件或者opencv2/xfeatures2d/cuda.hpp不存在
关于opencv_contrib安装可参考:https://blog.csdn.net/echoamor/article/details/83022352关于缺少boostdesc_bgm.i,网上有很多解决方法,例如:https://blog.csdn.net/AlexWang30/article/details/99612188或许这些方法已经管用了,但或许并不是,就像我之前安装他们说...原创 2019-10-22 18:01:48 · 2160 阅读 · 4 评论