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

Visual ChatGPT:Microsoft ChatGPT 和 VFM 相结合

推荐:使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景

什么是Visual ChatGPT?

Visual ChatGPT 是一个包含 Visual Foundation 模型 (VFM) 的系统,可帮助 ChatGPT 更好地理解、生成和编辑视觉信息。VFM 能够指定输入输出格式,将视觉信息转换为语言格式,并处理 VFM 历史记录、优先级和冲突。

因此,Visual ChatGPT 是一种 AI 模型,它充当了 ChatGPT 限制与允许用户通过聊天进行交流并生成视觉效果之间的桥梁。

ChatGPT 的局限性

在过去的几周和几个月里,ChatGPT 一直是大多数人的对话。但是,由于其语言训练功能,它不允许处理和生成图像。

而你有视觉基础模型,如视觉变压器和稳定扩散,它们具有惊人的视觉功能。这就是语言和图像模型的组合创造了Visual ChatGPT的地方。

什么是可视化基础模型?

视觉基础模型用于对计算机视觉中使用的基本算法进行分组。他们采用标准的计算机视觉技能并将其转移到AI应用程序上,以处理更复杂的任务。

Visual ChatGPT 中的提示管理器由 22 个 VFM 组成,其中包括文本到图像、控制网、边缘到图像等。这有助于 ChatGPT 将图像的所有视觉信号转换为语言,以便 ChatGPT 更好地理解。那么Visual ChatGPT是如何工作的呢?

Visual ChatGPT 如何工作?

Visual ChatGPT 由不同的组件组成,以帮助大型语言模型 ChatGPT 理解视觉对象。

Visual ChatGPT 的架构组件

  • 用户查询:这是用户提交查询的位置
  • 提示管理器:这会将用户的视觉查询转换为语言格式,以便 ChatGPT 模型可以理解。
  • Visual Foundation Models:它结合了各种VFM,例如BLIP(Bootstrapping Language-Image Pre-training),Stable Diffusion,ControlNet,Pix2Pix等。
  • 系统原理:这提供了可视化聊天GPT的基本规则和要求。
  • 对话历史:这是系统与用户进行交互和对话的第一个点。
  • 推理的历史:这使用不同VFM过去具有的先前推理来解决复杂的查询。
  • 中间答案:通过使用 VFM,模型将尝试输出几个逻辑上低估的中间答案

Microsoft GitHub

有关提示管理器的更多信息

你们中的一些人可能认为这是 ChatGPT 处理视觉效果的强制解决方法,因为它仍然将图像的所有视觉信号转换为语言。上传图像时,提示管理器会合成包含文件名等信息的内部聊天历史记录,以便 ChatGPT 可以更好地了解查询所指的内容。

例如,用户输入的图像的名称将充当操作历史记录,然后提示管理器将协助模型通过“推理格式”来确定需要对图像执行的操作。在 ChatGPT 选择正确的 VFM 操作之前,您可以将此视为模型的内部想法。

在下图中,您可以看到提示管理器如何启动可视 ChatGPT 的规则:

Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models

开始使用可视化聊天GPT

要开始您的 Visual ChatGPT 之旅,您需要先运行 Visual ChatGPT 演示:

# create a new environment
conda create -n visgpt python=3.8# activate the new environment
conda activate visgpt#  prepare the basic environments
pip install -r requirement.txt# download the visual foundation models
bash download.sh# prepare your private openAI private key
export OPENAI_API_KEY={Your_Private_Openai_Key}# create a folder to save images
mkdir ./image# Start Visual ChatGPT !
python visual_chatgpt.py

您还可以在Microsoft的Visual ChatGPT GitHub上了解更多信息。确保查看每个视觉基础模型上的 GPU 内存使用情况。

可视化聊天GPT的用例

那么Visual ChatGPT能做什么呢?

图像生成

您可以要求Visual ChatGPT从头开始创建图像,并提供描述。您的图像将在几秒钟内生成,具体取决于可用的计算能力。其使用文本数据的合成图像生成基于稳定扩散。

更改图像背景

同样,使用稳定的扩散,Visual ChatGPT可以改变您输入的图像的背景。用户可以向助手提供他们希望将背景更改为什么的任何描述,稳定的扩散模型将绘制图像的背景。

更改彩色图像和其他效果

您还可以根据为应用程序提供描述来更改图像的颜色并应用效果。Visual ChatGPT将使用各种预训练模型和OpenCV来更改图像颜色,突出显示图像边缘等。

对图像进行更改

Visual ChatGPT 允许您通过编辑和修改图像中的对象来删除或替换图像的各个方面,并向应用程序提供定向文本描述。但是,需要注意的是,此功能需要更多的计算能力。

Visual ChatGPT 的局限性

众所周知,组织总需要努力解决某种形式的缺陷来改善其服务。

计算机视觉和大型语言模型的结合

Visual ChatGPT 严重依赖 ChatGPT 和 VFM,因此,这些各个方面的准确性和可靠性会影响 Visual ChatGPT 的性能。使用大型语言模型和计算机视觉的组合需要大量的提示工程,并且可能难以实现熟练的性能。

隐私和安全

Visual ChatGPT能够轻松插入和拔出VFM,这可能是一些用户对安全和隐私问题的担忧。Microsoft需要更多地研究敏感数据如何不被泄露。

自我校正模块

Visual ChatGPT的研究人员遇到的限制之一是由于VFM的失败和提示的多样性而导致的生成结果不一致。因此,他们得出结论,他们需要研究一个自我更正模块,以确保生成的输出符合用户的要求,并能够进行必要的更正。

需要大量 GPU

为了从Visual ChatGPT中受益并利用22个VFM,您将需要大量的GPU RAM,例如A100。根据手头的任务,确保您了解有效完成任务所需的 GPU 量。

总结

Visual ChatGPT仍有其局限性,但这是同时使用大语言模型和计算机视觉的重大突破。如果您想了解有关Visual ChatGPT的更多信息,请阅读本文:Visual ChatGPT:使用Visual Foundation Models进行对话,绘图和编辑

Visual ChatGPT 与 ChatGPT4 相似吗?如果你尝试过这两种方法,你有什么看法?在下面发表评论!

原文链接:Visual ChatGPT:Microsoft ChatGPT 和 VFM 相结合 (mvrlink.com)

相关文章:

Visual ChatGPT:Microsoft ChatGPT 和 VFM 相结合

推荐:使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景 什么是Visual ChatGPT? Visual ChatGPT 是一个包含 Visual Foundation 模型 (VFM) 的系统,可帮助 ChatGPT 更好地理解、生成和编辑视觉信息。VFM 能够指…...

基于java理发店预约系统微信小程序设计与实现

摘要 多姿多彩的世界带来了美好的生活,行业的发展也是形形色色的离不开技术的发展。作为时代进步的发展方面,信息技术至始至终都是成就行业发展的重要秘密。不论何种行业,大到国家、企业,小到团体、个人都在多方位的结合信息化技术…...

【软件测试】大厂测工都是这样学习的,你get到了吗?

有不少的软件测试工程师站在“十字路口”迷茫、无助,找不到自己的方向。一切的迷茫都是因为想得太多而做的太少!每位软件测试行业从业者都能意识到目前自己面临的窘境,但能及时作出改变,顺应时代变化的人还是太少。多数人明明“泰…...

如何使用ONLYOFFICE+ffmpeg来给视频文件打马赛克

如何使用ONLYOFFICEffmpeg来给视频文件打马赛克 我这里之前写过很多关于ONLYOFFICE使用、安装的系列图文,也写过很多关于ffmpeg使用的图文,那么这次继续,把这两个开源软件放在一起,能碰撞出什么火花般的功能来。 这就是给视频文…...

003-依赖注入、属性赋值源码分析

目录 引入作用代码分析InstantiationAwareBeanPostProcessor#postProcessProperties()AutowiredAnnotationBeanPostProcessor查找注入点元数据给注入点注入属性 引入 之前我们了解到BeanDefinition到Bean,经历了 实例化属性赋值初始化 3个步骤现在详细分析下属性赋…...

Elasticsearch 商业启示

上月的“红帽事件”,说明开源软件的“客服模式”行不通,那么,开源软件如何赚钱呢?既不能卖软件,又不能卖支持服务,该怎么办呢?我现在的看法是,只剩下一种模式是可行的,开…...

C++/Qt 读写文件

之前写过两篇跟文件操作相关的博客,有兴趣也可以看一下: C语言读写文件 Qt关于文件路径的处理 先讲一些关于基础文本文件和二进制文件的读写操作,后续将会整理C/Qt关于ini、xml、json、xlsx相关文件的读写操作。 C 相比于C语言使用FILE文…...

linux服务器之-nethogs命令

文章目录 NetHogs 工具安装安装依赖包安装epel源安装Nethogs 使用 NetHogs 工具 NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是依照进程进行带宽分组。 安装 安装依赖包 yum install libpcap libpcap-devel epel-rel…...

《每天5分钟玩转kubernetes》读书笔记

笔记 概念 Pod是脆弱的,但应用是健壮的。 kubelet运行在Cluster所有节点上,负责启动Pod和容器。kubeadm用于初始化Cluster。kubectl是k8s命令行工具。通过kubectl可以部署和管理应用,查看各种资源,创建、删除和更新各种组件。 …...

【RabbitMQ】golang客户端教程4——路由(使用direct交换器)

路由 在上一教程中,我们构建了一个简单的日志记录系统。我们能够向许多接收者广播日志消息。 在本教程中,我们将向它添加一个特性-我们将使它能够只订阅消息的一个子集。例如,我们将只能将关键错误消息定向到日志文件(以节省磁盘…...

Shell脚本学习-for循环结构2

案例:通过脚本实现仅sshd、rsyslog、crond、network、sysstat服务在开机时自启动。 Linux系统在开机的服务通常工作在文本模式3级别,因此只需要查找3级别以上的开启的服务即可。查看命令: chkconfig --list |grep 3:on [rootvm1 ~]# chkco…...

vue 老项目 npm install 报错Python,c++等相关错误

​​​ 老项目npm install 下载依赖包报错 解决方法: //下载python 1、 npm install --global --production windows-build-tools//配置环境 : 也可暂时不用配置,能用就不用配置(npm config set python "D:\Python27\python.exe&q…...

【c语言初级】c++基础

文章目录 1. C关键字2. 命名空间2.1 命名空间定义2.2 命名空间使用 3. C输入&输出4. 缺省参数4.1 缺省参数概念4.2 缺省参数分类 5. 函数重载5.2 C函数重载的原理--名字修饰采用C语言编译器编译后结果 1. C关键字 C是在C的基础之上,容纳进去了面向对象编程思想…...

idea打开传统eclipse项目

打开传统web项目 1.打开后选择项目文件 2.选择项目结构 3.设置jdk版本 4.导入当前项目模块 5.选择eclipse 6. 设置保存目录 7.右键模块,添加spring和web文件 8. 设置web目录之类的,并且创建打包工具 9.如果有本地lib,添加为库 最后点击应用&…...

全国各城市-财政收入-一般预算收入-各项税收-个人所得税(1999-2020年)

个人所得税是一项反映国家财政状况和个人经济水平的重要数据。通过对全国各城市个人所得税数据的研究,可以提供研究者参考的有益信息。首先,个人所得税数据反映了不同城市居民的收入水平。通过对不同城市的个人所得税数据进行比较,可以了解不…...

【动态网页抓取】 :用Python抓取所有内容的指南

一、说明 您在抓取动态网页内容时是否得到了糟糕的结果?不仅仅是你。对于标准抓取工具来说,爬网动态数据是一项具有挑战性的任务(至少可以说)。这是因为当发出HTTP请求时,响应程序的某些部分JavaScript在后台运行&…...

Spring Boot数据访问基础知识与JDBC简单实现

目录 Spring Boot数据访问基础知识 Spring Data ORM JDBC JPA JDBC简单实现 步骤1:新建Maven项目,添加依赖 步骤2:配置数据源—让程序可以访问到 步骤3:配置数据源—让IDEA可以访问到 步骤4:添加数据库和表 …...

ubuntu添加万能头文件

ubuntu的C头文件目录为/usr/include 在/usr/include下新建文件夹 bits sudo mkdir bits进入bits,新建stdc.h,并修改权限为744/777 cd bits;sudo touch stdc.h;sudo chmod 777 stdc.h将以下内容粘贴到stdc.h,保存退出 // C includes used …...

聊一聊关于前端语法 ?? 的那些事

当我们在编写前端代码时,语法是非常重要的。正确的语法可以确保我们的代码能够正常运行,并且易于维护和理解。在本文中,我们将探讨一些前端语法的问题,例如空值合并运算符(??)。 空值合并运算符是ES2020…...

宝塔Linux面板升级“获取更新包失败”怎么解决?

宝塔Linux面板执行升级命令后失败,提示“获取更新包失败,请稍后更新或联系宝塔运维”如何解决?新手站长分享宝塔面板升级失败的解决方法: 宝塔面板升级失败解决方法 1、使用root账户登录到你的云服务器上,宝塔Linux面…...

训练强化学习的经验回放策略:experience replay

经验回放:Experience Replay(训练DQN的一种策略) 优点:可以重复利用离线经验数据;连续的经验具有相关性,经验回放可以在离线经验BUFFER随机抽样,减少相关性; 超参数:Rep…...

uniapp学习

1 简单的表单校验 <!--uniapp:参考模板和字段生成页面 字段stuNumber 输入框 学号stuName 输入框 学生姓名teacher 输入框 辅导员submitDate 日期选择 填报日期morningTemperature 输入框&#xff08;数字校验一位小数&#xff09; 早上体温noonTemperature 输入框&…...

机器学习深度学习——数值稳定性和模型化参数(详细数学推导)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——Dropout &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们有所帮助 这一部…...

layui 整合UEditor 百度编辑器

layui 整合UEditor 百度编辑器 第一步&#xff1a;下载百度编辑器并配置好路径 百度编辑器下载地址&#xff1a;http://fex.baidu.com/ueditor/ 第二步&#xff1a;引入百度编辑器 代码如下&#xff1a; <div class"layui-form-item layui-form-text"><…...

1、sparkStreaming概述

1、sparkStreaming概述 1.1 SparkStreaming是什么 它是一个可扩展&#xff0c;高吞吐具有容错性的流式计算框架 吞吐量&#xff1a;单位时间内成功传输数据的数量 之前我们接触的spark-core和spark-sql都是处理属于离线批处理任务&#xff0c;数据一般都是在固定位置上&…...

【Spring Boot】Spring Boot 集成 RocketMQ 实现简单的消息发送和消费

文章目录 前言基本概念消息和主题相关发送普通消息 发送顺序消息RocketMQTemplate的API介绍参考资料&#xff1a; 前言 本文主要有以下内容&#xff1a; 简单消息的发送顺序消息的发送RocketMQTemplate的API介绍 环境搭建&#xff1a; RocketMQ的安装教程&#xff1a;在官网…...

uniapp:图片验证码检验问题处理

图形验证码功能实现 uniapp&#xff1a;解决图形验证码问题及利用arraybuffer二进制转base64格式图片&#xff08;后端传的图片数据形式&#xff1a;x00\x10JFIF\x00\x01\x02\x00…&#xff09;_❆VE❆的博客-CSDN博客 UI稿&#xff1a; 需求&#xff1a;向后端请求验证码图片&…...

将Visio和Excel导出成没有白边的PDF文件

1、VISIO如何无白边导出pdf格式 在使用Latex时&#xff0c;要导入矢量图eps格式。但是VISIO无法输出eps格式&#xff0c;这就需要将其导出为pdf。但是导出pdf时&#xff0c;往往会有大量的白边。VISIO无白边导出pdf格式的方法如下&#xff1a; 1.文件——开发工具——显示sha…...

String类及其工具类

一、String类 1.字符串对象 String str new String("hello");String对象是final修饰的&#xff0c;不可修改的&#xff0c;修改后的字符串对象是另外一个对象&#xff0c;只是修改了引用地址。每次创建都会创建一个新的对象。 2. 字面量 String s "hello&…...

踩坑(5)整合kafka 报错 java.net.UnknownHostException: 不知道这样的主机

java.net.UnknownHostException: 不知道这样的主机。 (5c0c3c629db9)at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[na:na]at java.base/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:933) ~[na:na]at java.ba…...