当前位置: 首页 > news >正文

网站的测试和网站上线湖南seo优化

网站的测试和网站上线,湖南seo优化,企业vi模板,国外做饮用来源的网站实验目的 使用diffuser库生成图像的文章是很多的,使用方法也并不复杂,安装库后调用现成的模型和接口即可,但是因为网络原因,模型下载总会遇到问题,对于使用服务器的研究者来说,挂梯子并不可行,…

实验目的

使用diffuser库生成图像的文章是很多的,使用方法也并不复杂,安装库后调用现成的模型和接口即可,但是因为网络原因,模型下载总会遇到问题,对于使用服务器的研究者来说,挂梯子并不可行,而且现有的文章对这部分也语焉不详。故本文旨在记录一个更详细、完整、对新手友好的生图过程。

基本认识

扩散生成技术

扩散原本是热力学的概念,指分子无规则热运动而形成的物质传递现象,DDPM论文开天辟地地将扩散用于生成技术提高到了实际应用层面,该算法分为前向扩散和逆向生成两个过程:
前向扩散过程是向图像不断添加高斯噪声,直到原图完全变成噪声图像,将该过程序列与文本提示词一起输入网络进行训练。
逆向生成过程则是由训练好的网络根据噪声和提示词逐步猜测恢复出原图像的过程。

训练与生成算法的数学表示和生成过程如下图:
算法数学表示
生成过程

diffuser库

首先我们要了解一个开源生成模型——Stable Diffusion,该模型可以说是DDPM技术推动的产物,正如蒸汽机和蒸汽火车、发电机和电灯。该模型完全遵循 DDPM 的前向扩散 + 逆向生成框架,但通过潜在空间优化了计算效率。并且在 DDPM 的基础上引入 LDM、文本引导等技术,使其成为更实用、更强大的生成工具。

而diffuser库则是一个通用的扩散模型工具包,支持多种预训练扩散模型(如 Stable Diffusion、DALL-E、Imagen 等),并提供统一的 API 接口。
总的来说,diffuser库是封装了扩散生成模型,给开发者提供统一接口的生成模型库。

模型下载

按照官方示例直接跑会报一大串错误:
模型下载失败
原因是服务器连接不上,而且模型很大,最好我们手动下载模型,相关文章对这部分只是一句带过:模型很大不太好下或者用git 手动下载一下,本文主要对该过程进行补充。
更详细的方法及比较可见快速下载Hugging Face模型,本文参考实现了简单可用的两种方法。

git下载

git是分布式版本控制系统,可以理解为一个仓库存储了软件不同版本,方便恢复和拉取,在克隆过程中会将仓库的整个历史记录传输到客户端,具体操作可见git菜鸟教程。

Git LFS(Large File Storage)是一个用于Git版本控制系统的扩展,它专门用来管理大型文件,如图像、音频和视频文件。它通过延迟地(lazily)下载大文件的相关版本来减少大文件在仓库中的影响,具体来说,大文件是在checkout的过程中下载的,而不是 clone fetch 过程中下载的(这意味着你在后台定时 fetch 远端仓库内容到本地时,并不会下载大文件内容,而是在你 checkout 到工作区的时候才会真正去下载大文件的内容)。
对目前来说简单将其理解为git管理大文件的扩展即可。

安装gitlfs的命令及解释如下:

sudo apt-get install git 	# 安装git
git --version 				# 查看git版本
mkdir git					# 创建文件夹,名称任意
cd git						# 进入文件夹
git init					# 初始化文件夹为git仓库 
git lfs install				# 查看lfs是否安装成功有如下输出说明安装成功 
Updated git hooks.
Git LFS initialized.

首先进入Hugging Face官网,推荐使用国内镜像网站,点击model选项卡可见各种模型:
Hugging Face模型
搜索后可见该模型的详细界面,点击红框的三个点,和Clone即可获得git命令,然后进入到我们先前初始化的git仓库即可拉取下载:
模型详细描述
但是由于git的机制,拉取仓库时会拉取所有版本的内容,对网络和磁盘要求很高,详细教程也更推荐下面的方式。

镜像网站工具下载

镜像网站基于aria2开发了huggingface的专用下载工具,支持多现成下载,不断连,使用方法如下:

wget https://hf-mirror.com/hfd/hfd.sh		# 下载hfd
chmod a+x hfd.sh							# 授予权限
export HF_ENDPOINT=https://hf-mirror.com	# 设置环境变量
./hfd.sh 模型名								# 下载模型

启动下载后如下图所示:
hfd下载模型
下载完成后可以看到整个模型文件,还是比较大的,有二十多个G:
模型文件

生成库的使用

前面下载好的模型放到项目目录下,生成的示例代码如下:

import torch
from diffusers import StableDiffusionPipeline
import time# 定义管道和预训练模型,未下载的会自动下载, GPU RAM 少于 10GB,
# 加载 StableDiffusionPipeline 时使用 float16 精度,而不是的默认 float32 精度。
model_id = "CompVis/stable-diffusion-v1-4"
# 本地模型路径
model_path="./stable-diffusion-v1-4"start = time.time()
print("正在加载模型...")
pipe = StableDiffusionPipeline.from_pretrained(model_path,revision="fp16", torch_dtype=torch.float16)
# 提示词
prompt = "a photograph of an astronaut riding a horse"
# 使用GPU
pipe.to("cuda")print("正在生成图像...")
image = pipe(prompt).images[0]end=time.time()
print("消耗时间为:",end-start)
# 保存图像
image.save(f"astronaut_rides_horse.png")

其他详细原理和操作可见官方文档,包括使用自训练模型,更改推理过程等,都可以通过继承不同的模块实现。

对应输出和生成的图像如下:
1.4模型输出
宇航员骑马图
面部细节有些失真,马蹄也有点不统一,但是整体效果还可以。

总结

本文记录了diffuser库使用CompVis/stable-diffusion-v1-4模型生成图像的详细过程:
包括库和扩散生成的基本认识;
CompVis/stable-diffusion-v1-4模型下载;
diffuser库的使用和生成图像的示例代码。

这是手动生成图像的第一步,但也是关键一步,后续可以根据继承该模型的不同模块,调整参数和生成手段,达到自己想要的效果。

http://www.dinnco.com/news/49471.html

相关文章:

  • 上海浦东哪里有做网站的公司济南市新闻最新消息
  • 免费做店招的网站郑州网络推广效果
  • 亲亲抱抱蹭蹭的刺激原声哔哩哔哩太原seo报价
  • 怎么棋牌网站建设什么是seo?
  • 吃什么补肾最快最好旺道seo怎么优化网站
  • 长沙做网站哪家好新冠疫情最新消息今天
  • 房地产开发公司怎么注册上海seo培训
  • 网站建设美国个人博客登录首页
  • 武汉网站设计站建设2345浏览器网站进入
  • 北京专业网站制作介绍活动策划
  • 一蓝网站建设网站设计公司怎么样
  • web浏览器阻止activex控件怎么办洛阳seo网站
  • 做门户网站广告品牌推广经典案例
  • 日本做设计的网站有哪些爱站数据官网
  • 政府网站建设管理办法网站设计公司有哪些
  • 卖模板的网站互联网广告推广公司
  • 有什么做设计的兼职网站重庆seo网站
  • 手机制作网站主页软件济南做网站公司哪家好
  • 网站改版了北京网站优化实战
  • 临夏做网站常见的网络推广方式有哪些
  • 进什么网站接模具做营销策划方案范文
  • 画册设计流程旺道seo软件技术
  • 双鱼儿 网站建设营销管理制度范本
  • 使用java做网站东莞企业网站模板建站
  • 珠海中企网站建设长沙关键词排名软件
  • 微信手机网站开发今日热点新闻事件及评论
  • 网站源码 正在建设中做网络推广有哪些平台
  • 大连哪家网站做的好线上推广引流渠道
  • 做网站开发需要学什么semantic scholar
  • 1688做网站需要多少钱营销计划书7个步骤