• pytorch优化memo

    1 pin-memory 锁页内存 CPU内存分配默认是可分页的,GPU无法直接从可分页CPU内存访问数据,因此需要先创建一个临时的缓冲区(pinned memory),把数据从可分页内存拷贝pinned内存上,然后GPU才能从pinned内存...
  • pytorch 数据操作和广播

    123unsqueeze(增加维度的index)squeeze(减少维度的index)T 转置
  • python 动态hack方法

    由于很多时候需要hack forward函数,修改其中的逻辑,目前学习到的有两种修改实例的方法,之后还会有补充。 __get__ 12345678910111213141516171819class OriginalClass: def or...
  • controlnet源码一点小迷思

    迷之思考1 control相加位置 在论文以及webui实现中,controlnet的输出都是相加在upblock和midblock的输入位置,然而在diffusers的实现中,在运算完downblock后,将down_block_additio...
  • prefill和decode

    Overview prefill阶段:对输入的 prompts 进行处理 decode阶段:利用自回归的方式来生成 tokens 一个请求会经过一次prefill,和多次decode,每生成一个token就进行一次decode。 prefill是...
  • deepcache学习笔记

    DeepCache 原理 下采样属于浅层特征,上采样属于深层特征,去噪过程中的相邻步骤在深层特征上表现出显著的时间相似性,即连续步骤之间的变化通常较小。 从图中可以看出其实现思路,在上采样的倒数第二块的结果作为cache,和上采样第一个块拼接作为...
  • python 可变和不可变变量

    今天读代码时,看到下面这行代码,很疑惑为什么total_controlnet_embedding会随着target而改变,之前写C++/Go的时候,变量赋值是开辟另一个内存空间,除非用指针才会指向同一个内存空间。 搜了下发现python中,当将一个可...
  • 生图条件控制算法

    本文主要介绍基于Stable Diffusion下的对生图进行条件控制的几种常用算法。 1 ControlNet 1.1 UNet 在介绍ControlNet之前首先介绍一下Stable Diffusion的基础网络UNet,UNet网络结构分为...
  • 优质博客收藏

    Machine Learning 翁荔:https://lilianweng.github.io/posts/2021-07-11-diffusion-models/#prog-distll 周弈帆:https://zhouyifan.net/2...