LWM(LargeWorldModel)大世界模型-可文字可图片可视频-多模态LargeWorld-详细安装记录

说明

Large World Model(LWM)是一个通用的大环境多模态自回归模型,它利用了一个技术名为RingAttention,通过在大型的多样化视频和图书数据集上的训练,实现了对语言、图像和视频的理解与生成能力。
在github上已有4.2k star!
在这里插入图片描述

  • github主页:https://largeworldmodel.github.io/
  • 代码仓库:https://github.com/LargeWorldModel/LWM
  • huggingface:https://huggingface.co/LargeWorldModel

功能概述

LWM主要解决的问题是,当前的语言模型在理解那些难以用言语描述的世界方面存在短板,并且在处理复杂、长篇任务时表现不佳。视频序列提供了语言和静态图像中缺失的宝贵时间信息,这对于与语言的联合建模而言十分有吸引力。这些模型可以发展对人类文本知识和物理世界的理解,为人类提供更广泛的AI能力。但是,从数百万个视频和语言序列的标记中学习面临着内存限制、计算复杂性和数据集有限等挑战。为了解决这些挑战,LWM整合了大量多样化视频和图书的数据集,使用RingAttention技术在长序列上可扩展地训练,并逐步将环境大小从4K增加到1M标记。

应用场景

LWM可以在以下情况下使用:

  • 知识检索与回答问题:LWM能够在1M的环境中准确地检索事实,这使其能够回答基于覆盖范围极广数据的复杂问题,例如,在长达一小时的YouTube视频中找到特定信息。
  • 与图像的对话:LWM不仅能够理解和生成语言,还可以与图像“对话”。这意味着它可以理解图像内容,并根据图像内容生成文本回应。
  • 从文本生成视频和图像:LWM能够将文本描述转换成图像或视频,这在内容创作、游戏开发和其他需要将文本想法可视化的领域具有巨大应用潜力。

安装步骤

  • 先创建虚拟环境:
conda create -n lwm python=3.10
conda activate lwm
  • 安装pytorch和cudnn
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia
  • 如果上步骤没有安装起cudnn,可以按以下方式手动安装cudnn
    在nvidia下载对应的cudnn压缩包文件:https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/
    这里下载的是:https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
    上传到服务器,解压,安装:
tar -xvf  cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xzsudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

安装完成后,可进入python环境,查看各版本:

import torch
# pytorch版本
torch.__version__
# cuda版本
torch.version.cuda
# cudnn版本
torch.backends.cudnn.version()
  • 安装jax0.4.23版本
    直接执行安装:
pip install -U "jax[cuda12_pip]==0.4.23"

如果后续运行报错,尝试使用whl文件安装:
在网站https://storage.googleapis.com/jax-releases/jax_cuda_releases.html下载对应jax版本的whl:https://storage.googleapis.com/jax-releases/cuda12/jaxlib-0.4.23+cuda12.cudnn89-cp310-cp310-manylinux2014_x86_64.whl
然后上传服务器,安装:

pip install jaxlib-0.4.23+cuda12.cudnn89-cp310-cp310-manylinux2014_x86_64.whl
  • 安装项目依赖
    下载项目源码,进入项目目录,安装依赖:
pip install -r requirements.txt
  • 下载模型
    从https://huggingface.co/LargeWorldModel/LWM-Chat-32K-Jax/tree/main下载模型,放到服务器上
    也可使用huggingface镜像站点直接下载,运行python代码:
import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
os.system('huggingface-cli download --resume-download LargeWorldModel/LWM-Chat-32K-Jax --local-dir ~/software/lwm-model')

项目运行

修改scripts/run_vision_chat.sh中的模型路径,将自己的输入视频传入:

export llama_tokenizer_path="/root/software/lwm-model/tokenizer.model"
export vqgan_checkpoint="/root/software/lwm-model/vqgan"
export lwm_checkpoint="/root/software/lwm-model/params"
export input_file="/root/software/seasons_of_china.mp4"

然后“–mesh_dim=‘!1,-1,32,1’”这句要删除
然后运行:bash run_vision_chat.sh
然后报错:
在这里插入图片描述

GPU不足,看到issue上有说到这个配置:
在这里插入图片描述

暂无对应设备,作罢!

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

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

相关文章

c++文件的打开、读写和关闭。缓冲区的使用和控制。

在C中,文件的打开、读写和关闭通常使用标准库中的文件流对象(如std::ifstream用于输入文件,std::ofstream用于输出文件)来完成。这些对象封装了与操作系统交互的底层细节,使得文件操作更为简单和安全。 以下是文件打开…

Spring Boot与Netty:构建高性能的网络应用

点击下载《Spring Boot与Netty:构建高性能的网络应用》 1. 前言 本文将详细探讨如何在Spring Boot应用中集成Netty,以构建高性能的网络应用。我们将首先了解Netty的原理和优势,然后介绍如何在Spring Boot项目中集成Netty,包括详…

编程笔记 Golang基础 016 数据类型:数字类型

编程笔记 Golang基础 016 数据类型:数字类型 1. 整数类型(Integer Types)a) 固定长度整数:b) 变长整数: 2. 浮点数类型(Floating-Point Types)3. 复数类型(Complex Number Types&…

JAVA高并发——单例模式和不变模式

文章目录 1、探讨单例模式2、不变模式 由于并行程序设计比串行程序设计复杂得多,因此我强烈建议大家了解一些常见的设计方法。就好像练习武术,一招一式都是要经过学习的。如果自己胡乱打,效果不见得好。前人会总结一些武术套路,对…

体验LobeChat搭建私人聊天应用

LobeChat是什么 LobeChat 是开源的高性能聊天机器人框架,支持语音合成、多模态、可扩展的(Function Call)插件系统。支持一键免费部署私人 ChatGPT/LLM 网页应用程序。 地址:https://github.com/lobehub/lobe-chat 为什么要用Lobe…

2024年2月19日-2月25日(全面进行+收集免费虚幻商城资源)

试试周一到周五重点进行,周末抄写源码,周一晚上看书很快就在22:00睡着,早上可以看看视频教程,出租车上补觉。 执行如下: 周一: 8:01-9:20ue4 rpg(184&#xf…

深入探索C/C++预处理世界:预定义符号与宏定义的全方位指南

引言 在C/C编程中,预处理器是源代码转换为可编译形式的重要阶段。预处理器指令提供了诸如宏定义、条件编译、头文件包含等多种功能,极大地增强了代码的灵活性和可维护性。本篇博客将逐一探讨预处理的关键概念,从预定义符号到宏函数&#xff…

OpenAI Sora引领AI跳舞视频新浪潮:字节跳动发布创新舞蹈视频生成框架

OpenAI的Sora已经引起广泛关注,预计今年AI跳舞视频将在抖音平台上大放异彩。下面将为您详细介绍一款字节跳动发布的AI视频动画框架。 技术定位:这款框架采用先进的diffusion技术,专注于生成人类舞蹈视频。它不仅能够实现人体动作和表情的迁移…

Linux系统安装KafKa

Linux安装KafKa ​ 官方下载地址:Apache Kafka ​ 解压安装包 tar -zxvf kafka_2.12-3.3.2.tgz​ 修改配置文件 vim server.properties# broker 的全局唯一编号,不能重复,只能是数字 broker.id0 # kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动…

2.21学习总结

1.【模板】ST 表 2.Balanced Lineup G 3.景区导游 4.最近公共祖先(LCA) 倍增思想:主要用于LCA问题,RMQ问题。在进行 递推 时,如果 状态空间很大,通常的 线性递推 无法满足 时间 与 空间复杂度 的要求&…

Chrome浏览器安装Axure-Chrome-Extension插件

Chrome浏览器打开Axure生成的HTML静态文件页面时,会显示如下图AXURE RP EXTENSION FOR CHROME,这是因为Chrome浏览器没有安装Axure插件Axure-Chrome-Extension导致的。 解决方法: 插件下载地址:https://download.csdn.net/downlo…

FreeRTOS 探秘之路(目录)

文章目录 前言一、FreeRTOS 快速入门二、FreeRTOS 深入学习 前言 一、FreeRTOS 快速入门 一,STM32cubeMX配置FreeRTOS工程 二,STM32cubeMX配置FreeRTOS---- 任务管理 三,STM32cubeMX配置FreeRTOS---- 互斥量 四,STM32cubeMX配…

通过盲注脚本复习sqllabs第46关order by 注入

在MySQL支持使用ORDER BY语句对查询结果集进行排序处理,使用ORDER BY语句不仅支持对单列数据的排序,还支持对数据表中多列数据的排序。语法格式如下 select * from 表名 order by 列名(或者数字) asc;升序(默认升序) select * from 表名 or…

交换瓶子【第七届】【省赛】【A组】

题目描述 有N个瓶子,编号 1 ~ N,放在架子上。 比如有5个瓶子: 2 1 3 5 4 要求每次拿起2个瓶子,交换它们的位置。 经过若干次后,使得瓶子的序号为: 1 2 3 4 5 对于这么简单的情况,显然&#…

Java练习(第3天)使用StringJoiner类进行字符串连接

一、问题描述 给定2个或多个字符串,将其连接成为一个字符串,并输出连接后字符串的长度。字符串之间用逗号或引号分隔。 样例输入1: Ram Shyam 样例输出1: Ram,Shyam 9 样例输入2(要求接在输出1之后):…

每天一个数据分析题(一百六十四)

关于OLAP系统,下列选项不正确的是() A. 是基于数据仓库的信息进行分析处理过程 B. 用户数量相对较少,其用户主要是业务决策人员与管理人员 C. 对响应时间要求非常高。 D. 基础数据来源于生产系统的操作数据,也就是…

C#_索引器

索引器的作用:令对象可像数组一般被索引 索引器 internal class TestClass {public int[] arr { 1, 2, 3, 4, 5 };public string this[int index] // 前者为返回类型,后者为索引类型// 返回类型代表get函数的返回值类型、set函数的value类型&#xff0…

(done) 什么是正定矩阵?Positive Definite Matrices

正定矩阵的定义:https://baike.baidu.com/item/%E6%AD%A3%E5%AE%9A%E7%9F%A9%E9%98%B5/11030459 正定矩阵的作用、验证视频:https://www.bilibili.com/video/BV1Ag411M76G/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c…

下一代自动化爬虫神器--playwright,所见即所得,不用逆向不要太香!!!

文章目录 1.Playwright介绍2.与 Selenium 和 pyppeteer 相比,Playwright 具有以下几个区别和优势3.在爬虫中使用 Playwright 的好处4.环境安装5.屏幕录制6.保留记录cookie信息7.playwright代码编写详解1.第一个Playwright脚本(1)同步模式&…

2.4.1.1 相机内参标定

相机内参标定 更多内容,请关注: github:https://github.com/gotonote/Autopilot-Notes.git 相机内参标定主要是为了获取相机本身的性质参数,包括相机的焦距,光心以及畸变参数等。 内参的物理意义与相机模型强相关&a…