- 博客(141)
- 资源 (3)
- 收藏
- 关注
原创 2024-三月份-uint8和int8记录
分别表示无符号的 8 位整数和有符号的 8 位整数。uint8_t 的取值范围是 0 到 255,uint8_t 和 int8_t 都是固定宽度的整数类型,而 int8_t 的取值范围是 -128 到 127。
2024-05-21 15:48:56
369
原创 Stable diffusion 解决PyTorch报错:RuntimeError: Distributed package doesn‘t have NCCL built in
nccl改成gloo
2024-04-27 09:16:11
460
原创 SDXL_webUI_controlnet使用depth_zoe错误解决
【代码】SDXL_webUI_controlnet使用depth_zoe错误解决。
2024-04-07 17:00:04
706
原创 基于SDXL——ComfyUI下使用Layerdiffusion一键生成透明底图像
comfyUI使用layerdiffusion生成透明底图像
2024-03-29 15:22:48
4281
原创 Stable Diffusion之核心基础知识和网络结构解析
Stable Diffusion的整个训练过程在最高维度上可以看成是如何加噪声和如何去噪声的过程,并在针对噪声的“对抗与攻防”中学习到生成图片的能力。从数据集中随机选择一个训练样本从K个噪声量级随机抽样一个timestepttt将timestepttt对应的高斯噪声添加到图片中将加噪图片输入U-Net中预测噪声计算真实噪声和预测噪声的L2损失计算梯度并更新SD模型参数CLIP模型是一个基于对比学习的多模态模型,主要包含Text Encoder和Image Encoder两个模型。
2024-03-26 16:44:35
9148
4
原创 Stable Diffusion XL之核心基础内容
与Stable Diffusion 1.x-2.x相比,Stable Diffusion XL主要进行如下的优化:
2024-03-26 16:42:28
1677
原创 Stable Diffusion XL之使用Stable Diffusion XL训练自己的AI绘画模型
其中config_file.toml文件中的配置文件包含了sdxl_arguments,model_arguments,dataset_arguments,training_arguments,logging_arguments,sample_prompt_arguments,saving_arguments,optimizer_arguments以及additional_network_arguments九个个维度的参数信息。但是切记不能在多尺度增强的时候将图片的主体特征裁剪掉(比如人脸,建筑等)。
2024-03-25 14:22:29
4768
1
原创 十六 动手学深度学习v2计算机视觉 ——样式迁移
我们通过前向传播(实线箭头方向)计算风格迁移的损失函数,并通过反向传播(虚线箭头方向)迭代模型参数,即不断更新合成图像。内容损失使合成图像与内容图像在内容特征上接近;风格损失使合成图像与风格图像在风格特征上接近;全变分损失则有助于减少合成图像中的噪点。
2023-12-13 00:03:54
488
原创 十五 动手学深度学习v2计算机视觉 ——全连接神经网络FCN
全卷积网络先使用卷积神经网络抽取图像特征,然后通过卷积层将通道数变换为类别个数,最后通过转置卷积层将特征图的高和宽变换为输入图像的尺寸。因此,模型输出与输入图像的高和宽相同,且最终输出通道包含了该空间位置像素的类别预测。最后输出kx224x224, 通道数就是类别数。上图的CNN去掉了池化层和全连接层!1x1卷积层降低维度,减少计算量。
2023-12-12 16:36:59
620
原创 十四 动手学深度学习v2计算机视觉 ——转置矩阵
与常规卷积不同,在转置卷积中,填充被应用于的输出(常规卷积将填充应用于输入)。例如,当将高和宽两侧的填充数指定为1时,转置卷积的输出中将删除第一和最后的行与列。在转置卷积中,步幅被指定为中间结果(输出),而不是输入。使用 上图相同输入和卷积核张量,将步幅从1更改为2会增加中间张量的高和权重。
2023-12-12 16:36:00
570
原创 十三 动手学深度学习v2计算机视觉 ——语义分割
等特征对图像进行划分,此时比较火的算法有Ostu、FCM、分水岭、N-Cut等,这些算法一般是非监督学习,分割出来的结果并没有语义的标注,换句话说,分割出来的东西并不知道是什么。随着卷积神经网络的发展,对图像理解能力大大增强,算法逐渐可以对分割出来的部分进行分类,即对分割结果进行语义标注,称为语义分割,常用的方法有U-Net等。而随着计算能力提高以及卷积神经网络的发展,能够理解分割后图像语义的算法逐渐出现,能够理解语义的图像分割,称为语义分割。实例分割的任务是在语义分割的基础上更进一步,
2023-12-12 14:58:07
571
原创 十二 动手学深度学习v2计算机视觉 ——目标检测
对输入图像使用选择性搜索来选取多个高质量的提议区域 (Uijlings et al., 2013)。这些提议区域通常是在多个尺度下选取的,并具有不同的形状和大小。每个提议区域都将被标注类别和真实边界框;选择一个预训练的卷积神经网络,并将其在输出层之前截断。将每个提议区域变形为网络需要的输入尺寸,并通过前向传播输出抽取的提议区域特征;将每个提议区域的特征连同其标注的类别作为一个样本。将每个提议区域的特征连同其标注的边界框作为一个样本,训练线性回归模型来预测真实边界框。
2023-12-08 13:51:44
438
原创 十 动手学深度学习v2 ——卷积神经网络之NiN + GoogLeNet
Inception块相当于一个有4条路径的子网络。它通过不同窗口形状的卷积层和最大汇聚层来并行抽取信息,并使用卷积层减少每像素级别上的通道维数从而降低模型复杂度。特点:模型参数小,计算复杂度低。GoogLeNet将九个设计精细的Inception块与其他层(卷积层、全连接层)串联起来。其中Inception块的通道数分配之比是在ImageNet数据集上通过大量的实验得来的。3x3 改成 1x3 和 3x1 减少计算量,但是效果没那么好。
2023-09-11 16:31:17
515
1
原创 九 动手学深度学习v2 ——卷积神经网络之AlexNet
原始VGG网络有5个卷积块,其中前两个块各有一个卷积层,后三个块各包含两个卷积层。第一个模块有64个输出通道,每个后续模块将输出通道数量翻倍,直到该数字达到512。由于该网络使用8个卷积层和3个全连接层,因此它通常被称为VGG-11。VGG神经网络连接 图7.2.1的几个VGG块(在vgg_block函数中定义)。其中有超参数变量conv_arch。该变量指定了每个VGG块里卷积层个数和输出通道数。全连接模块则与AlexNet中的相同。
2023-09-10 17:19:54
348
原创 八 动手学深度学习v2 ——卷积神经网络之卷积+填充步幅+池化+LeNet
图像卷积总结二维卷积层的核心计算是二维互相关运算。最简单的形式是,对二维输入数据和卷积核执行互相关操作,然后添加一个偏置。核矩阵和偏移是可学习的参数核矩阵大小是超参数填充和步幅 padding和stride填充:在应用多层卷积时,我们常常丢失边缘像素。 由于我们通常使用小卷积核,因此对于任何单个卷积,我们可能只会丢失几个像素。 但随着我们应用许多连续卷积层,累积丢失的像素数就多了。 解决这个问题的简单方法即为填充(padding):在输入图像的边界填充元素(通常填充元素是0)。步
2023-09-08 15:59:32
754
原创 六 动手学深度学习v2 ——权重衰退+dropout
保持模型简单的一个特别的选择是使用L2惩罚的权重衰减。这会导致学习算法更新步骤中的权重衰减。正则化是处理过拟合的常用方法:在训练集的损失函数中加入惩罚项,以降低学习到的模型的复杂度。dropout可以避免过拟合,它通常与控制权重向量的维数和大小结合使用的。dropout在前向传播过程中,计算每一内部层的同时丢弃一些神经元。在同一训练代码实现中,不同的参数集可以有不同的更新行为。dropout将活性值h替换为具有期望值h的随机变量。权重衰减功能在深度学习框架的优化器中提供。dropout仅在训练期间使用。
2023-08-12 16:38:07
328
原创 五 动手学深度学习v2 —— 模型选择+欠拟合和过拟合
此外,由于我们的训练和验证误差之间的泛化误差很小, 我们有理由相信可以用一个更复杂的模型降低训练误差。然后执行K次模型训练和验证,每次在K−1个子集上进行训练, 并在剩余的一个子集(在该轮中没有用于训练的子集)上进行验证。另一方面,当我们的训练误差明显低于验证误差时要小心, 这表明严重的过拟合(overfitting)。特别是在深度学习领域,众所周知, 最好的预测模型在训练数据上的表现往往比在保留(验证)数据上好得多。最终,我们通常更关心验证误差,而不是训练误差和验证误差之间的差距。
2023-08-09 14:13:07
118
原创 三 动手学深度学习v2 —— Softmax回归+损失函数+图片分类数据集
目录:从回归到多类分类回归分类总结:lyy′21y−y′2lyy′∣y−y′∣lyy′⎩⎨⎧∣y−y′∣−2121y−y′2ifotherwise∣y−y′∣1。
2023-08-05 17:34:45
242
原创 二 动手学深度学习v2笔记 —— 线性回归 + 基础优化算法
线性回归基础优化方法1. 线性回归总结线性回归是对n维输入的加权,外加偏差使用平方损失来衡量预测值和真实值的差异线性回归有显示解线性回归可以看作是单层神经网络2. 基础优化方法梯度下降小批量随机梯度下降3. 总结梯度下降通过不断沿着反梯度方向更新参数求解小批量随机梯度下降是深度学习默认的求解算法两个重要的超参数是批量大小和学习率4. 线性回归的从零开始实现"生成 y = Xw + b + 噪声"''' 根据带有噪声的线性模型构造一个人造数据集。
2023-07-30 14:26:58
275
原创 ModuleNotFoundError: No module named ‘tensorflow.compat.v2‘解决方法
ModuleNotFoundError: No module named ‘tensorflow.compat.v2‘解决方法
2023-06-05 14:32:55
5509
6
原创 python-Counter计数函数以及most_common函数
>>> c = Counter() # 创建一个新的空counter>>> c = Counter('abcasdf') # 一个迭代对象生成的counter>>> c = Counter({'red': 4, 'yello': 2}) # 一个映射生成的counter>>> c = Counter(cats=2, dogs=5)
2022-04-24 15:44:58
1871
原创 ubuntu18安装nvidia-440驱动+cuda10.0+cudnn
一、保证环境干净,没有残余的nvidia驱动和cuda如果下载过nvidia驱动#对于通过PPA以及Ubuntu自带的软件商店卸载指令如下sudo apt-get remove --purge nvidia*sudo apt autoremove #对于通过官网.run文件,卸载指令如下sudo nvidia-uninstall或者sudo chmod +x *.runsudo ./NVIDIA-Linux-x86_64-440.31.run --uninstall#卸载cuda
2022-04-08 18:01:22
1571
2
原创 目标检测算法—— R-CNN, Fast R-CNN, Faster R-CNN
文章目录R-CNN概述Fast R-CNN概述Faster R-CNN概述RPN的工作原理R-CNN概述首先模型输入为一张图片,然后在图片上提出了约2000个待检测区域,然后这2000个待检测区域***一个一个地***(串联方式)通过卷积神经网络提取特征,然后这些被提取的特征通过一个支持向量机(SVM)进行分类,得到物体的类别,并通过一个bounding box regression调整目标包围框的大小。第一步提取2000个待检测区域的时候,是通过一个2012年提出的方法,叫做selective
2022-01-19 14:29:55
949
原创 tensorflow官方文档中文版—— 二. 基本使用
系列文章目录简介代码基本使用目录基本使用简介综述计算图构建图在一个会话中启动图交互式使用Tensor变量FetchFeed基本使用简介使用图 (graph) 来表示计算任务.在被称之为 会话 (Session) 的上下文 (context) 中执行图.使用 tensor 表示数据.通过 变量 (Variable) 维护状态.使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据.综述TensorFlow 是一个编
2022-01-18 11:33:08
2106
原创 tensorflow官方文档中文版—— 一. 简介代码
简介本章的目的是让你了解和运行 TensorFlow!import tensorflow as tfimport numpy as np#使用NumPy生成假数据, 总共100个点.x_data = np.float32(np.random.rand(2, 100))y_data = np.dot([0.100, 0.200], x_data) + 0.300#构造一个线性模型b = tf.Variable(tf.zeros([1]))W = tf.Variable(tf.random_
2022-01-17 13:59:19
1773
原创 leetcode——面试题 08.01. 三步问题---动态规划
class Solution: def waysToStep(self, n: int) -> int: step = [1, 1, 2] for i in range(3, n + 1): rst = step[i - 3] + step[i - 2] + step[i - 1] if rst > 10**6: rst = rst % (1000000007)
2021-12-10 15:31:27
211
2
原创 leetcode——1646.获取生成数组中的最大值---动态规划
class Solution: def getMaximumGenerated(self, n: int) -> int: nums = [0 for i in range(n + 1)] if n == 0: return 0 nums[1] = 1 for j in range(0, n // 2): if 2 <= 2*(j + 1) <= n:
2021-12-10 15:08:55
237
原创 leetcode——1137.第N个泰波那契数---动态规划
class Solution: def tribonacci(self, n: int) -> int: fn = [0, 1, 1] for i in range(2, n): fn.append(fn[i - 2] + fn[i - 1] + fn[i]) return fn[n]
2021-12-10 14:25:42
425
原创 leetcode——1025.除数博弈---动态规划
自己的解法class Solution: def divisorGame(self, n: int) -> bool: if n <= 1: return False m = 1 while m: # for i in range(1, n): n = n - 1 if n == 1 and m % 2 == 0:
2021-12-09 17:36:35
145
原创 leetcode——509.斐波那契数---动态规划
自己的解法class Solution: def fib(self, n: int) -> int: f = [0, 1] if n <= 1: return f[n] for i in range(1, n): f.append(f[i] + f[i-1]) return f[-1]
2021-12-09 16:40:56
156
原创 leetcode——392.判断子序列---动态规划
自己的解法class Solution: def isSubsequence(self, s: str, t: str) -> bool: mark = False if len(s) == 0: return True for i in range(len(t)): if len(s) != 0: if t[i] == s[0]:
2021-12-09 16:29:50
146
原创 leetcode——338.比特位计数---动态规划
自己的解法class Solution: def countBits(self, n: int) -> List[int]: left = -1 count = [0] num_1 = 0 for i in range(1, n + 1): temp = i while left != 1 and left != 0: left = temp //
2021-12-09 15:20:19
118
原创 leetcode——746. 使用最小花费爬楼梯---动态规划
动态规划class Solution: def minCostClimbingStairs(self, cost: List[int]) -> int: dp = [cost[0], cost[1]] for i in range(2, len(cost)): dp.append(min(dp[i - 2] + cost[i], dp[i - 1] + cost[i])) return min(dp[-1], dp[-2
2021-12-09 10:26:12
166
原创 leetcode——121.买卖股票的第一佳时机---动态规划
class Solution: def maxProfit(self, prices) -> int: min_num = prices[0] compare = 0 for i, item in enumerate(prices): min_num = min(min_num, prices[i]) if prices[i] > min_num: compar
2021-12-03 17:34:59
100
opencv_3rdparty-ippicv-master_20180518.zip
2020-05-09
data_prepare.zip
2020-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人