AI作画飞入平民百姓家——stable diffusion初体验

news/2024/5/14 11:36:35/文章来源:https://blog.csdn.net/qq_35082030/article/details/126787400

1. 前言

stable_diffusion来了,这个号称是最强的民用文本生成图片的模型它来了,相比较DAEE等大模型,它能够让我们消费级的显卡也能够实现文本到图像的生成。下面,我们也来试一下。

2. 准备过程

该服务器上必须要有的基础工具anaconda,wget,git和yum。令我吃惊的是,当我看到wget和yum互为前提的安装时,我头都大了。后来使用curl代替wget解决了yum的安装问题。

3. 执行过程

由于有官方详尽的介绍,因此很容易完成项目的搭建。

  1. 按照官方的地址,我们下载完源码。它是基于latent-diffusion而做的。

  2. 创建环境
    conda env create -f environment.yaml
    conda activate ldm
    需要注意的是,里面有两个github的包,可以从github上下载后,放到src下,使用python进行安装,具体可以参考知乎。

  3. 额外注意的有以下3个部分:
    (1)该项目至少要在torch>=1.9.0以上的环境中运行,否则会报错AttributeError: module 'torch' has no attribute 'inference_mode'
    (2)当遇到ImportError: cannot import name 'autocast' from 'torch' (/root/anaconda3/envs/ldm/lib/python3.8/site-packages/torch/__init__.py)
    问题时,需要注释掉txt2img.py里的import autocast(第14行)以及使用autocast的那一行(第280行),
    (3)还有需要注意的是,如果遇到的问题是AttributeError:module ‘distutils’ has no attribute 'version,那么需要安装低版本:
    pip uninstall setuptools
    pip install setuptools==59.5.0 //需要比你之前的低

4. 实验效果

今天是中秋节,我本想使用“海上生明月,天涯共此时”来进行生成,但是很难搞定。只好使用如此笨拙的方式进行生成,还是第一次使用,没有掌握到prompt的精髓,大家可以加以改进。

python scripts/txt2img.py --prompt "There is a bright moon on the sea, and there is a big ship. There are many people on the ship. People look up at the direction of the moon." --plms --outdir ./Workspace --ckpt ./models/ldm/sd-v1-4.ckpt --ddim_steps 100 --H 512 --W 512 --seed 8

在这里插入图片描述

5. 后记

关于prompt的使用,需要尽可能的详细描述整个场景,用精准而非通俗的英语单词更能够让画面具有精致的美感。

当然stable diffusion仍然是有很大的缺陷的,例如,对于整体文化上偏向于西方的表达方式,物体的表现缺少事实性和一致性(一幅图里会有许多个月亮,这是事实性错误),对于人物的细节缺少精准的控制。在即将发布的1.5的模型里对于人物的脸部进行了更精致的表现,但是仍然对于手部细节还需要加强。大家可以看一下1.5和1.4版本模型的对比。
在这里插入图片描述
在这里插入图片描述
幸运的是,相比较latent diffusion,stable diffusion增加了安全检查操作,因此不会出现太离谱的图片了。

今天就是中秋节了,祝大家中秋快乐!也祝各位老师,教师节快乐!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_6204.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式]

基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式内核menuconfig配置内核dts配置文件系统配置和更改驱动编译wifi工具编译libnl库编译openssl编译wpa_supplicant编译hostapd编译开机运行脚本测试WIFI—STA模式运行脚本测试WIFI-AP模式内核menuconfig配置 CONFIG_NETFIL…

高光谱图像分类简述+《Deep Learning for Hyperspectral Image Classification: An Overview》综述论文笔记

论文题目《Deep Learning for Hyperspectral Image Classification: An Overview》 论文作者:Shutao Li, Weiwei Song, Leyuan Fang,Yushi Chen, Pedram Ghamisi,Jn Atli Benediktsson 论文发表年份:2019 一、高光谱简述高光谱成像是一项重要的遥感技术,它采集了从…

SQL server 2008 安装教程

SQL server 2008 安装教程 1. 安装 SQL server 2008 的主要步骤如下 1.1 点击 setup.exe1.2 选中 “安装”,并点击右边的 “全新 SQL sever 独立或向现有安装添加功能1.3 重启电脑,再找到安装程序 “setup.exe” 重复上面的步骤1.4 输入产品秘钥 “JD8Y…

The Art of Prompting: Event Detection based on Type Specific Prompts

Motivation之前的研究表明prompt可以提高模型在事件检测方面的性能,包括使用特定structure 使用每种事件类型特定的query 原型 trigger这些尝试启发对不同prompt效果的探究Settings 作者在3种setting下做了实验:Supervised event detection Few-shot Event detection两个数据…

对课上相关问题的研究和解答

问题一:从测试中看不足 1、JAVA的基本运行单位是类 2、类中由类变量和类方法共同组成 3、变量的类型相互之间存在可以转换的关系,具体来说,可以分为以下几种情况: 1、(byte、short、char)-int-long-float-double,从低级到高级的排序,数据类型可以直接由低级向高级转换 举…

SpringCloud微服务架构

什么是微服务 微服务架构的基础是将的那个应用程序开发为一组小型独立服务,这些独立服务在自己的进程中运行,独立开发和部署。 SpringCloud Alibaba微服务: Spring Cloud Alibaba 是Spring Cloud的一个子项目,致力于提供微服务…

9--RNN

有隐藏状态的循环神经网络 假设在时间步t有小批量输入,即对于n个序列样本的小批量,的每一行对应于来自该序列的时间步t处的一个样本,用表示时间步t的隐藏变量。与MLP不同的是, 我们在这里保存了前一个时间步的隐藏变量&#xff0c…

《Mycat分布式数据库架构》之数据切分实战

文章目录1、引言2、前期准备2.1 系统环境2.2 数据库集群3 注意事项3.1 分片原则3.2 如何选择分片键4 数据切分实战4.1 配置访问用户及权限4.2 配置逻辑库及逻辑表4.3 配置分片规则4.3.1 简单取模分片4.3.2 哈希取模分片4.3.3 枚举分片4.3.4 字符串范围取模分片前文回顾&#xf…

Selenium操作已经打开的Chrome(只怪自己尝试的太迟)

🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝 🥰 博客首页:…

抖音视频

刻度尺读取方法0n:/ 复制打开抖音,看看【天子骄龙的作品】初中物理-刻度尺读数 ηηQ2VtW0nGyv8▽▽ 秒表读取方法 8.76 aNW:/ 复制打开抖音,看看【天子骄龙的作品】初中物理-秒表读数# 专业的事交给专业的人 初中物理... https://v.douyin.com/6RTySK2/

微信支付v3

文章目录前言1. 微信支付产品介绍2 接入指引2.1 获取商户号2.2 获取appid2.3 获取密钥和证书3 支付安全3.1 对称加密和非对称加密3.2 身份认证3.3 数字证书3.4 https中的数字证书3.5 微信支付中的证书密钥和签名4 基础支付apiv34.1 基础支付APly3-引入支付参数4.2 基础支付APly…

frame标签使用

当页面采用框架集的时候,如果点击,某个部分想在当前页面跳转到一个全新的无框架集的页面,可以在超链接中指定 target属性,如果指定为_top,则是整个页面,也可以指定某个frame 。 默认的几种值有: _self:当前frame(或者当前部分) _blank:打开新的一个窗口 _parent:当…

upload-labs靶场通关指南(9-11关)

今天继续给大家介绍渗透测试相关知识,本文主要内容是upload-labs靶场通关指南(9-10关) 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! …

JavaScript每日一题_立即执行函数中函数名和变量同名,输出的是什么

立即执行函数中函数名和变量同名,输出的是什么 代码如下 var a 1;(function a() {a 2console.log(a)})();首先,不是输出2,也不是输出1 运行代码 输出的是函数a未定义 一句一句代码解读 实现 var a 1;会在window对象上挂载一个属性a,并赋值为1 然后是 (function a() {a …

.NET操作Excel高效低内存的开源框架 - MiniExcel

.Net平台上对Excel进行操作主要有两种方式。第一种,把Excel文件看成一个数据库,通过OleDb的方式进行读取与操作;第二种,调用Excel的COM组件。两种方式各有特点。 今天给大家介绍第三种方式:插件方式,目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内存消耗…

【ZJSU - 大红大紫:ACM - Template】比赛用模板12:STL与库函数

模板整理12:STL与库函数(更新至v6.0,2022.09.10)\(\tt STL\) 与库函数 后继 \(\tt lower\_bound、upper\_bound\) lower 表示 \(\ge\) ,upper 表示 \(>\) 。使用前记得先进行排序。 //返回a数组[start,end)区间中第一个>=x的地址【地址!!!】 cout << lower…

剑指offer--重建二叉树

目录Start代码及分析EndingStart 代码及分析 在已知前序遍历和中序遍历之后&#xff0c;如何建树呢&#xff1f; 我们知道&#xff0c;在二叉树的前序遍历当中&#xff0c;第一个数字总是根结点的值。而在中序遍历中&#xff0c;根节点位于中间位置&#xff0c;根结点的左边是…

【数据结构】交换排序之冒泡排序与快速排序

承接上文&#xff1a; (32条消息) 【数据结构】常见排序之插入排序与选择排序_vpurple__的博客-CSDN博客https://blog.csdn.net/vpurple_/article/details/126568614?spm1001.2014.3001.5502https://blog.csdn.net/vpurple_/article/details/126568614?spm1001.2014.3001.55…

【算法刷题日记之本手篇】微信红包与计算字符串的编辑距离

⭐️前面的话⭐️ 本篇文章介绍来自牛客试题广场的两道题题解&#xff0c;分别为【微信红包】和【计算字符串的编辑距离】&#xff0c;展示语言java。 小贴士&#xff1a;本专栏所有题目来自牛客->面试刷题必用工具 &#x1f4d2;博客主页&#xff1a;未见花闻的博客主页 …

索引优化分析_预热_JOIN

索引优化分析_预热_JOIN1.性能下降SQL慢 执行时间长 等待时间长2.常见通用的Join查询2.1.SQL执行顺序2.2.Join图2.3.建表SQL2.4 7种JOIN2.5.扩展(掌门人)1.性能下降SQL慢 执行时间长 等待时间长 数据过多——分库分表 mycat索引失效&#xff0c;没有充分利用到索引——索引建立…