96SEO 2026-02-20 06:55 10
。

刚好我有H20的GPU所以部署来看看效果#xff0c;因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署#xff0c;通过一系列的披荆斩棘…多模态视频大模型Aria在Docker部署
闲逛HuggingFace的时候发现一个25.3B的多模态大模型支持图片和视频。
刚好我有H20的GPU所以部署来看看效果因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署通过一系列的披荆斩棘比如Segmentation
dumped)异常最终成功运行在单卡h20服务器上python3.10cuda12.4ubuntu20.04,程序在推理图片的时候占用50g显存推理5s视频20fps的时候占用60g左右显存。
https://github.com/rhymes-ai/Aria
线上demo响应很快并且描述得很详细并且可以描述什么时间发生了啥介绍里面说的是Cutting
timestamps.(通过带有时间戳的场景过渡来剪切长视频。
),这不是自动剪分镜吗我有一个好想法先写完这篇再说
宿主机cuda是12.4以上的可以忽略宿主机可以随便升降级cuda的也可以忽略要不然会出现以下异常ImportError:
/usr/local/lib/python3.10/dist-packages/torch/lib/…/…/nvidia/cusparse/lib/libcusparse.so.12:
https://nvidia.github.io/nvidia-docker/gpgkey
https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list
/etc/apt/sources.list.d/nvidia-docker.list#安装docker和nvidia-docker
:[https://hub.rat.dev,https://docker.1panel.live,https://docker.rainbond.cc,https://mirror.ccs.tencentyun.com,http://registry.docker-cn.com,http://docker.mirrors.ustc.edu.cn,http://hub-mirror.c.163.com],data-root:
docker#运行cuda:12.4.1容器指定使用哪块gpu指定挂载路径
#cuda:12.4.1-devel-ubuntu20.04。
这个镜像包含了
nvidia/cuda:12.4.1-devel-ubuntu20.04
#这只是我的磁盘满了需要搞到其他盘我自己记录一下你不用运行sudo
#下载conda有些云厂商不支持tsinghua所以任意选一个就行
https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh#安装conda配置环境变量如果选择了自动配置环境可以不修改bashrc
Miniconda3-latest-Linux-x86_64.sh#添加conda
__conda_setup$(/xxx/miniconda3/bin/conda
/xxx/miniconda3/etc/profile.d/conda.sh
/xxx/miniconda3/etc/profile.d/conda.shelseexport
PATH/xxx/miniconda3/bin:$PATHfi
https://github.com/rhymes-ai/Aria.git#进入Aria工程目录
https://mirrors.aliyun.com/pypi/simple
https://mirrors.aliyun.com/pypi/simple
https://mirrors.aliyun.com/pypi/simple下载模型
logging.basicConfig(levellogging.INFO)def
1):try:snapshot_download(repo_idmodel_name,ignore_patterns[*.bin],local_dirlocal_name,force_downloadFalse)logging.info(Download
max_retries:time.sleep(retry_interval)else:logging.critical(Download
argparse.ArgumentParser(descriptionDownload
Hub)parser.add_argument(--model_name,
download)parser.add_argument(--local_name,
parser.parse_args()download_model(args.model_name,
HF_ENDPOINThttps://hf-mirror.com
/home/models/huggingface/rhymes-ai/Aria#建议使用nohup
HF_ENDPOINThttps://hf-mirror.com
/home/models/huggingface/rhymes-ai/Ariamodel
AutoModelForCausalLM.from_pretrained(model_id_or_path,
trust_remote_codeTrue)processor
AutoProcessor.from_pretrained(model_id_or_path,
trust_remote_codeTrue)#你自己搞一个你图片
Image.open(requests.get(image_path,
processor.apply_chat_template(messages,
inputs[pixel_values].to(model.dtype)
torch.cuda.amp.autocast(dtypetorch.bfloat16):output
model.generate(**inputs,max_new_tokens500,stop_strings[|im_end|],tokenizerprocessor.tokenizer,do_sampleTrue,temperature0.9,)output_ids
output[0][inputs[input_ids].shape[1]:]result
skip_special_tokensTrue)print(result)结果
os.environ[CUDA_VISIBLE_DEVICES]
/home/models/huggingface/rhymes-ai/Aria
AutoModelForCausalLM.from_pretrained(model_id_or_path,
torch_dtypetorch.bfloat16,trust_remote_codeTrue)
AutoProcessor.from_pretrained(model_id_or_path,
trust_remote_codeTrue)#这个一定放在模型加载下面要不然要报错Segmentation
cache_dir/home/lzy/cached_video_frames,
os.path.basename(video_file)cache_subdir
f{video_basename}_{num_frames})os.makedirs(cache_subdir,
os.path.exists(frame_path):cached_frames.append(frame_path)else:missing_frames.append(i)frame_indices.append(i)vr
VideoReader(video_file)duration
vr.get_avg_fps()frame_timestamps
speed!.format(len(cached_frames),
[Image.open(frame_path).convert(RGB)
frame_timestampsactual_frame_indices
missing_frames]missing_frames_data
vr.get_batch(actual_frame_indices).asnumpy()for
Image.fromarray(missing_frames_data[idx]).convert(RGB)frame_path
fframe_{frame_index}.jpg)img.save(frame_path)cached_frames.append(frame_path)cached_frames.sort(keylambda
int(os.path.basename(x).split(_)[1].split(.)[0]))return
[Image.open(frame_path).convert(RGB)
get_placeholders_for_videos(frames:
enumerate(frames):contents.append({text:
timestamps)):contents.extend([{text:
file.endswith(video_extensions):video_path
get_placeholders_for_videos(frames,
get_placeholders_for_videos(frames)start
processor.apply_chat_template(messages,
add_generation_promptTrue)inputs
max_image_size980)inputs[pixel_values]
inputs[pixel_values].to(model.dtype)inputs
torch.cuda.amp.autocast(dtypetorch.bfloat16):output
model.generate(**inputs,max_new_tokens2048,stop_strings[|im_end|],tokenizerprocessor.tokenizer,do_sampleFalse,)output_ids
output[0][inputs[input_ids].shape[1]:]result
skip_special_tokensTrue)print(result)print(time.time()
我是分析/home/下面的所有视频你要分析单个改改就行max_image_size可改成490num_frames你根据自己视频来选我的5秒视频分析20fps相当于一秒4fps
aria显存占用还可以60g左右好像默认使用的是attn_implementation“flash_attention_2”对比qwen和cpm来说可以做到通过带有时间戳的场景过渡来剪切长视频core
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback