lmms-lab / LLaVA-Video-7B-Qwen2

huggingface.co
Total runs: 27.5K
24-hour runs: 0
7-day runs: -1.1K
30-day runs: 2.8K
Model's Last Updated: Outubro 25 2024
video-text-to-text

Introduction of LLaVA-Video-7B-Qwen2

Model Details of LLaVA-Video-7B-Qwen2

LLaVA-Video-7B-Qwen2

Table of Contents
  1. Model Summary
  2. Use
  3. Limitations
  4. Training
  5. License
  6. Citation
Model Summary

The LLaVA-Video models are 7/72B parameter models trained on LLaVA-Video-178K and LLaVA-OneVision Dataset , based on Qwen2 language model with a context window of 32K tokens.

This model support at most 64 frames.

Use
Intended use

The model was trained on LLaVA-Video-178K and LLaVA-OneVision Dataset , having the ability to interact with images, multi-image and videos, but specific to videos.

Feel free to share your generations in the Community tab!

Generation

We provide the simple generation process for using our model. For more details, you could refer to Github .

# pip install git+https://github.com/LLaVA-VL/LLaVA-NeXT.git
from llava.model.builder import load_pretrained_model
from llava.mm_utils import get_model_name_from_path, process_images, tokenizer_image_token
from llava.constants import IMAGE_TOKEN_INDEX, DEFAULT_IMAGE_TOKEN, DEFAULT_IM_START_TOKEN, DEFAULT_IM_END_TOKEN, IGNORE_INDEX
from llava.conversation import conv_templates, SeparatorStyle
from PIL import Image
import requests
import copy
import torch
import sys
import warnings
from decord import VideoReader, cpu
import numpy as np
warnings.filterwarnings("ignore")
def load_video(self, video_path, max_frames_num,fps=1,force_sample=False):
    if max_frames_num == 0:
        return np.zeros((1, 336, 336, 3))
    vr = VideoReader(video_path, ctx=cpu(0),num_threads=1)
    total_frame_num = len(vr)
    video_time = total_frame_num / vr.get_avg_fps()
    fps = round(vr.get_avg_fps()/fps)
    frame_idx = [i for i in range(0, len(vr), fps)]
    frame_time = [i/fps for i in frame_idx]
    if len(frame_idx) > max_frames_num or force_sample:
        sample_fps = max_frames_num
        uniform_sampled_frames = np.linspace(0, total_frame_num - 1, sample_fps, dtype=int)
        frame_idx = uniform_sampled_frames.tolist()
        frame_time = [i/vr.get_avg_fps() for i in frame_idx]
    frame_time = ",".join([f"{i:.2f}s" for i in frame_time])
    spare_frames = vr.get_batch(frame_idx).asnumpy()
    # import pdb;pdb.set_trace()
    return spare_frames,frame_time,video_time
pretrained = "lmms-lab/LLaVA-Video-7B-Qwen2"
model_name = "llava_qwen"
device = "cuda"
device_map = "auto"
tokenizer, model, image_processor, max_length = load_pretrained_model(pretrained, None, model_name, torch_dtype="bfloat16", device_map=device_map)  # Add any other thing you want to pass in llava_model_args
model.eval()
video_path = "XXXX"
max_frames_num = "64"
video,frame_time,video_time = load_video(video_path, max_frames_num, 1, force_sample=True)
video = image_processor.preprocess(video, return_tensors="pt")["pixel_values"].cuda().bfloat16()
video = [video]
conv_template = "qwen_1_5"  # Make sure you use correct chat template for different models
time_instruciton = f"The video lasts for {video_time:.2f} seconds, and {len(video[0])} frames are uniformly sampled from it. These frames are located at {frame_time}.Please answer the following questions related to this video."
question = DEFAULT_IMAGE_TOKEN + f"{time_instruciton}\nPlease describe this video in detail."
conv = copy.deepcopy(conv_templates[conv_template])
conv.append_message(conv.roles[0], question)
conv.append_message(conv.roles[1], None)
prompt_question = conv.get_prompt()
input_ids = tokenizer_image_token(prompt_question, tokenizer, IMAGE_TOKEN_INDEX, return_tensors="pt").unsqueeze(0).to(device)
cont = model.generate(
    input_ids,
    images=video,
    modalities= ["video"],
    do_sample=False,
    temperature=0,
    max_new_tokens=4096,
)
text_outputs = tokenizer.batch_decode(cont, skip_special_tokens=True)[0].strip()
print(text_outputs)

Training

Model
  • Architecture: SO400M + Qwen2
  • Initialized Model: lmms-lab/llava-onevision-qwen2-7b-si
  • Data: A mixture of 1.6M single-image/multi-image/video data, 1 epoch, full model
  • Precision: bfloat16
Hardware & Software

Citation

Runs of lmms-lab LLaVA-Video-7B-Qwen2 on huggingface.co

27.5K
Total runs
0
24-hour runs
0
3-day runs
-1.1K
7-day runs
2.8K
30-day runs

More Information About LLaVA-Video-7B-Qwen2 huggingface.co Model

More LLaVA-Video-7B-Qwen2 license Visit here:

https://choosealicense.com/licenses/apache-2.0

LLaVA-Video-7B-Qwen2 huggingface.co

LLaVA-Video-7B-Qwen2 huggingface.co is an AI model on huggingface.co that provides LLaVA-Video-7B-Qwen2's model effect (), which can be used instantly with this lmms-lab LLaVA-Video-7B-Qwen2 model. huggingface.co supports a free trial of the LLaVA-Video-7B-Qwen2 model, and also provides paid use of the LLaVA-Video-7B-Qwen2. Support call LLaVA-Video-7B-Qwen2 model through api, including Node.js, Python, http.

LLaVA-Video-7B-Qwen2 huggingface.co Url

https://huggingface.co/lmms-lab/LLaVA-Video-7B-Qwen2

lmms-lab LLaVA-Video-7B-Qwen2 online free

LLaVA-Video-7B-Qwen2 huggingface.co is an online trial and call api platform, which integrates LLaVA-Video-7B-Qwen2's modeling effects, including api services, and provides a free online trial of LLaVA-Video-7B-Qwen2, you can try LLaVA-Video-7B-Qwen2 online for free by clicking the link below.

lmms-lab LLaVA-Video-7B-Qwen2 online free url in huggingface.co:

https://huggingface.co/lmms-lab/LLaVA-Video-7B-Qwen2

LLaVA-Video-7B-Qwen2 install

LLaVA-Video-7B-Qwen2 is an open source model from GitHub that offers a free installation service, and any user can find LLaVA-Video-7B-Qwen2 on GitHub to install. At the same time, huggingface.co provides the effect of LLaVA-Video-7B-Qwen2 install, users can directly use LLaVA-Video-7B-Qwen2 installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

LLaVA-Video-7B-Qwen2 install url in huggingface.co:

https://huggingface.co/lmms-lab/LLaVA-Video-7B-Qwen2

Url of LLaVA-Video-7B-Qwen2

LLaVA-Video-7B-Qwen2 huggingface.co Url

Provider of LLaVA-Video-7B-Qwen2 huggingface.co

lmms-lab
ORGANIZATIONS

Other API from lmms-lab

huggingface.co

Total runs: 839
Run Growth: 488
Growth Rate: 58.16%
Updated:Junho 26 2024
huggingface.co

Total runs: 1
Run Growth: 0
Growth Rate: 0.00%
Updated:Outubro 19 2024