中文sd:SkyPaint-AI-Diffusion

https://huggingface.co/SkyworkAIGC/SkyPainticon-default.png?t=N7T8https://huggingface.co/SkyworkAIGC/SkyPainthttps://github.com/SkyWorkAIGC/SkyPaint-AI-Diffusionicon-default.png?t=N7T8https://github.com/SkyWorkAIGC/SkyPaint-AI-Diffusion从model_index.json看,应该算是标准的sd1.5架构了。

{"_class_name": "StableDiffusionPipeline","_diffusers_version": "0.10.0","feature_extractor": ["transformers","CLIPImageProcessor"],"requires_safety_checker": true,"safety_checker": ["stable_diffusion","StableDiffusionSafetyChecker"],"scheduler": ["diffusers","EulerAncestralDiscreteScheduler"],"text_encoder": ["transformers","CLIPTextModel"],"tokenizer": ["transformers","BertTokenizer"],"unet": ["diffusers","UNet2DConditionModel"],"vae": ["diffusers","AutoencoderKL"]
}
from diffusers import StableDiffusionPipelinedevice = 'cuda'
pipe = StableDiffusionPipeline.from_pretrained("path_to_our_model").to(device)prompts = ['机械狗','城堡 大海 夕阳 宫崎骏动画','花落知多少','鸡你太美',
]for prompt in prompts:prompt = 'sai-v1 art, ' + promptimage = pipe(prompt).images[0]  image.save("%s.jpg" % prompt)

SkyPaint文本生成模型主要由两部分组成,即提示词文本编码器和扩散模型两部分,优化也分为两部分,1.基于OpenAI-CLIP优化了提示词文本编码器模型使得SkyPaint具有中英文识别能力, 2.优化了扩散模型,使得SkyPaint具有现代艺术能力可以产生高质量图片。

1.skyclip

SkyCLIP采用一种高效的训练中英双语CLIP模型的方法得到的CLIP模型,该方法仅需要使用文本数据即可实现对OpenAI-CLIP模型的高效蒸馏,训练所需算力要求相较于原始CLIP模型减少90%以上,该方法仅改变了OpenAI-CLIP的文本编码器,可搭配使用OpenAI-CLIP的图像编码器实现图文检索功能。

skypaint训练数据来源:

  • 中英文机器翻译任务平行语料
  • 联合国中英文平行语料
  • LAION中英文语料(部分)
  • Wukong中文语料(部分)
  • AI-Challenger翻译任务中英文语料
  • 古诗词中英文语料
  • 提示词手册/魔法书中常见词组合而成的中英文语料

skypaint的训练方法:

将OpenAI-CLIP的text_encoder作为教师模型并且冻结参数,学生模型采用和教师模型同样大小的多语言BERT模型,训练时英文输入通过教师模型获取相应的t_en_hiddent_state,英文和中文分别通过学生模型获取相应s_en_hiddent_state,s_zh_hidden_state,采用l1、l2、cos距离等构造损失函数使得学生模型的中英文hiddent_state逐渐靠近教师模型的hiddent_state。由于平行语料的中文和英文存在天然的不等长性质,为了使得平行的中文和英文尽量接近,训练过程中我们还添加了中文解码器,使用学生模型的中英文hiddent_state作为解码器的hidden_state输入,通过翻译任务来辅助实现中文和英文的对齐目的。

2.diffusion model

我们的数据采用了筛选过的Laion数据集作为训练数据,同时在文本前面加上了 'sai-v1 art' 作为tag使模型能够更快速的学习到我们想要的风格及质量。 预训练模型采用了stable-diffusion-v1-5 作为预训练,使用了16块A100训练了50个小时。 目前模型还在持续优化中,后续会有更稳定的模型更新。

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

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

相关文章

【Head First 设计模式】-- 观察者模式

背景 客户有一个WeatherData对象,负责追踪温度、湿度和气压等数据。现在客户给我们提了个需求,让我们利用WeatherData对象取得数据,并更新三个布告板:目前状况、气象统计和天气预报。 WeatherData对象提供了4个接口: …

linux系统SQL server数据库定时收缩

问题现象 出现下图问题,导致连接该数据库的程序不能正常启动 解决办法 定时收缩数据库 数据库定时收缩脚本 需要三个脚本文件 linux_sqlcmd_timing_task_shrink.sh:主脚本文件 # 设置数据库名称、用户名、密码等信息 # db_name"volador"…

Elasticsearch:使用你的 RAG 来进行聊天

什么是人工智能中的检索增强生成(RAG)? 检索增强生成 (RAG),与你的文档聊天的超级英雄,架起信息检索和文本生成世界的桥梁! 这就像福尔摩斯和莎士比亚联手解决需要大量知识的复杂任务。 RAG 突然介入&…

使用Python自动修改电脑的静态IP地址

目录 一、引言 二、实现思路 三、详细步骤 四、Python代码 五、注意事项 六、适用性和局限性 七、总结 一、引言 在网络应用中,有时我们需要频繁更改电脑的静态IP地址。例如,当我们在不同网络环境(家庭、办公室)中使用电脑…

洗衣洗鞋柜洗衣洗鞋小程序

支持:一键投递、上门取衣、自主送店、多种支付方式 TEL: 17638103951(同V) -----------------用户下单-------------- -------------------------多种支付和投递方式------------------------- -----------------商家取鞋--------------

C++前缀和算法的应用:最大化城市的最小供电站数目

本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 二分法 题目 给你一个下标从 0 开始长度为 n 的整数数组 stations ,其中 stations[i] 表示第 i 座城市的供电站数目。 每个供电站可以在一定 范围 内给所…

算法题:203. 移除链表元素(递归法、设置虚拟头节点法等3种方法)Java实现创建链表与解析链表

1、算法思路 讲一下设置虚拟头节点的那个方法,设置一个新节点指向原来链表的头节点,这样我们就可以通过判断链表的当前节点的后继节点值是不是目标删除值,来判断是否删除这个后继节点了。如果不设置虚拟头节点,则需要将头节点和后…

产品经理墨刀学习----注册页面

我们做的产品是一个校园论坛学习开发系统,目前才开始学习。 (一)流程图 (二)简单墨刀设计--注册页面 (1)有账号 (a)直接登录: (b)忘…

在Google Kubernetes集群创建分布式Jenkins(一)

因为项目需要,在GKE的集群上需要创建一个CICD的环境,记录一下安装部署一个分布式Jenkins集群的过程。 分布式Jenkins由一个主服务器和多个Agent组成,Agent可以执行主服务器分派的任务。如下图所示: 如上图,Jenkins Ag…

从零开始搭建微服务(一)

构建项目父工程 添加公共核心模块 安装nacos 安装nacos nacos 文档地址: https://nacos.io/zh-cn/docs/what-is-nacos.html 本文使用版本2.2.2 下载地址:https://github.com/alibaba/nacos/archive/refs/tags/2.2.2.zip 使用nacos 我们下载是源代码 解…

20.8 OpenSSL 套接字SSL传输文件

有了上面的基础那么传输文件的实现就变得简单了,在传输时通常我们需要打开文件,并每次读入1024个字节的数据包,通过SSL加密传输即可,此处的文件传输功能在原生套接字章节中也进行过详细讲解,此处我们还是使用原来的密钥…

【Verilog 教程】7.3 Verilog 串行 FIR 滤波器设计

串行 FIR 滤波器设计 设计说明 设计参数不变,与并行 FIR 滤波器参数一致。即,输入频率为 7.5 MHz 和 250 KHz 的正弦波混合信号,经过 FIR 滤波器后,高频信号 7.5MHz 被滤除,只保留 250KMHz 的信号。 输入频率&#x…

VMware安装CentOS最小化开发环境导引

目录 一、概要 二、介绍 三、下载 四、安装 4.1 创建虚拟机 4.2 安装CentOS 五、配置网卡 六、配置本地安装源 七、安装软件 7.1 gcc/g 7.2 C的atomic库 7.3 java 7.4 Cmake 7.5 MariaDB客户端(兼容mysql) 八、用户配置文件.bash_profile…

[开源]企业级在线办公系统,基于实时音视频完成在线视频会议功能

一、开源项目简介 企业级在线办公系统 本项目使用了SpringBootMybatisSpringMVC框架,技术功能点应用了WebSocket、Redis、Activiti7工作流引擎, 基于TRTC腾讯实时音视频完成在线视频会议功能。 二、开源协议 使用GPL-3.0开源协议 三、界面展示 部分…

什么是单片机?它是如何工作的?

一.单片机是什么? 家用电器包含各种各样的集成电路板。 在集成电路板上最重要的就是单片机(单片微型计算机)。它是一种集成电路芯片。 二.单片机的组成 2.1 CPU CPU的主要功能是运算和控制。2.2 ROM 1.是什么? ROM的全称是Re…

Redis03-过期策略和淘汰策略

目录 Redis数据过期策略 Redis数据淘汰策略 Redis数据过期策略 Redis使用一种基于过期策略来处理键的过期和自动失效。这种策略可以确保不再需要的数据被自动删除,以释放内存并避免数据过期后仍然在缓存中存留。 Redis的过期删除策略主要有两种: 惰性…

【SpringSecuirty6.x】自动登录和注销登录

关于网站的安全设计,通常是有一些矛盾点的。我们在作为某些系统开发者的同时,也在充当着另外一些系统的用户,一些感同身受的东西可以带来很多思考。 5.1、为什么需要自动登录 当我们在某个网站上注册账号时,网站会对我们设置的登录密码提出要求。例如,有的网站要求使用固…

VS编译器中创建新源文件,自动添加----#define _CRT_SECURE_NO_WARNINGS 1

每次创建新的源文件时都需要添加比较麻烦,我们让每次创建时自动添加,步骤如下: 1、右键编译器--->属性--->目标(存放的是编译器的文件位置我们找到文件的位置) 2、如下步骤找到“newc file.cpp”文件&#xff0…

如何使用Ruby 多线程爬取数据

现在比较主流的爬虫应该是用python,之前也写了很多关于python的文章。今天在这里我们主要说说ruby。我觉得ruby也是ok的,我试试看写了一个爬虫的小程序,并作出相应的解析。 Ruby中实现网页抓取,一般用的是mechanize,使…

Linux安装配置awscli命令行接口工具及其从aws上传下载数据

官网技术文档有全面介绍:安装或更新 AWS CLI 的最新版本 - AWS Command Line Interface在系统上安装 AWS CLI。https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/getting-started-install.html#getting-started-install-instructionsawscli常用命令参考&…