AI视频生成
只需给予AI一段简单的文字描述或是一组相关图片,它便能依托对内容的理解和分析,将这些素材转化为流畅生动的视频片段,从而创造出情节丰富、视觉震撼的新作品。
场景简介
随着AI技术的不断突破与日益渗透至日常生活的方方面面,一系列新颖独特的创新应用在各个领域蓬勃兴起,其中AI视频生成技术尤为夺人眼球。用户只需给予AI一段简单的文字描述或是一组相关图片,它便能依托对内容的理解和分析,将这些素材转化为流畅生动的视频片段,从而创造出情节丰富、视觉震撼的新作品。 AI视频生成技术时常化身为“创意加速器”,能将零散的思绪或粗糙的草图迅速转化为引人入胜的短片,但偶尔也会带来些许意料之外的惊喜或笑料,所生成的视频既展示了技术的无限潜能,也反映了其成长道路上趣味与挑战并存的特点。本实验带您体验如何通过阿里云使用EasyAnimate在PAI-DSW实现由图生成视频,一起来动手完成吧。
实验室资源方式简介
进入实操前,请确保阿里云账号满足以下条件:
个人账号资源
使用您个人的云资源进行操作,资源归属于个人。
平台仅提供手册参考,不会对资源做任何操作。
确保已完成云工开物300元代金券领取。
已通过实名认证且账户余额≥0元。
本场景主要涉及以下云产品和服务:EAS、EasyAnimate
本实验,预计产生资源消耗:10.490元/小时。
下行流量:不消耗下行流量
生图GPU消耗费用预估:10.490元/小时
如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。
领取专属权益及开通授权
在开始实验之前,请先点击右侧屏幕的“进入实操”再进行后续操作
第一步:领取300元高校专属权益优惠券(若已领取请跳过)。
实验产生的费用优先使用优惠券,优惠券使用完毕后需您自行承担。
第二步:进入阿里云官网,搜索【试用】,点击【立即试用】
可试用人群选【个人认证】,选择【交互式建模 PAI-DSW】,点击【立即试用】
点击【立即试用】
提交成功后,点击【前往控制台】
可参考文档完成创建DSW角色及授权等操作
第三步:领取学生专属300元优惠券后,点击访问人工智能平台 PAI-点击“立即开通”,完成PAI平台开通与授权。
后期若想再次进入PAI平台可通过“控制台”进入。
跳转至控制台后,点击人工智能平台PAI,进入PAI平台页面。
实验步骤
一、创建实例
重要请注意:为了确保实验流程顺利进行,请先选择合适的工作区间。
在PAI平台左侧选项卡中找到交互式建模(DSW),点击新建实例
配置实例,其中
资源规格:ecs.gn7i-c8g1.2xlarge (8 vCPU, 30 GiB, NVIDIA A10 * 1)
镜像:easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04
配置完毕点击确定,当资源准备完毕后,点击“打开”
二、进入Notebook调试页面
在左侧文件目录空白处,单击鼠标右键,新建一个Notebook。使用Python3,单击Select。
配置环境
为了开始使用EasyAnimate,您需要先安装下载+解压工具,并运行以下代码,以下载和解压EasyAnimate模型、代码、环境。
说明注意:若您已经下载过代码和模型,再次运行时无需重复运行“ 配置环境”节部分的代码单元格
1、定义函数
将下面的代码复制到Notebook的代码框中,点击代码框左侧的“运行按钮”:
import os def aria2(url, filename, d): !aria2c --console-log-level=error -c -x 16 -s 16 {url} -o {filename} -d {d} def download_from_oss(url, filename, save_dir): url_prefix = { "cn-shanghai": "http://pai-vision-data-sh.oss-cn-shanghai-internal.aliyuncs.com", "cn-hangzhou": "http://pai-vision-data-hz2.oss-cn-hangzhou-internal.aliyuncs.com", "cn-shenzhen": "http://pai-vision-data-sz.oss-cn-shenzhen-internal.aliyuncs.com", "cn-beijing": "http://pai-vision-data-bj.oss-cn-beijing-internal.aliyuncs.com", "cn-wulanchabu": "https://pai-vision-data-wlcb.oss-cn-wulanchabu-internal.aliyuncs.com", "ap-southeast-1": "http://pai-vision-data-ap-southeast.oss-ap-southeast-1-internal.aliyuncs.com" } dsw_region = os.environ.get("dsw_region") prefix = url_prefix[dsw_region] if dsw_region in url_prefix else "http://pai-vision-data-sh.oss-cn-shanghai.aliyuncs.com" url = os.path.join(prefix,url,filename) print(url) print(dsw_region) print(f'Download from {url}') !aria2c --console-log-level=error -c -x 16 -s 16 {url} -o {filename} -d {save_dir} if filename.endswith('.tar.gz') or filename.endswith('.tar'): saved_filepath = os.path.join(save_dir, filename) print('Start Unzipping...') !tar -xf $saved_filepath -C $save_dir print('Done') try: os.remove(saved_filepath) print(f'Removed original file: {saved_filepath}') except OSError as e: print(f"Error: {saved_filepath} : {e.strerror}") def check_files_exists_and_download(data_path, download_filenames): filenames = [ os.path.join(data_path, f"models/Diffusion_Transformer/{name}") for name in download_filenames ] for download_filename, filename in zip(download_filenames, filenames): if os.path.exists(filename) or os.path.exists(filename.replace('.tar','').replace('.gz','')): print('Exists. ', filename) continue save_dir = os.path.dirname(filename) os.makedirs(save_dir, exist_ok=True) print(f"Start Downloading: {download_filename} to {save_dir}") download_from_oss('aigc-data/easyanimate/models', download_filename, save_dir)
待代码运行完毕,将鼠标置于刚运行的代码块的下侧,如图所示,单击“+Code”来新建一个代码框:
2、下载相关代码
在新的代码框中输入如下代码并运行,下载代码:
import os data_path = os.getcwd() download_from_oss('aigc-data/easyanimate/code', 'codev3.tar.gz', data_path)
3、下载模型
新建代码框,并将下述代码复制到代码框中,并运行:
# 下载模型到指定目录 约3min import os data_path = os.path.join(os.getcwd(),'EasyAnimate') # 下载预训练的模型 check_files_exists_and_download(data_path, ['EasyAnimateV3-XL-2-InP-512x512.tar']) # 可以根据需要下载多个版本的预训练模型 # check_files_exists_and_download(data_path, ['EasyAnimateV3-XL-2-InP-512x512.tar','EasyAnimateV3-XL-2-InP-768x768.tar'])
此过程用时较久,请同学们耐心等待。
4、启动WebUI
运行如下命令,启动WebUI,左键点击生成的URL跳转到WebUI前端:
!cd EasyAnimate && python app.py
这一步耗时较久,请同学们耐心等候。
配置EasyAnimate
1、选择预训练模型
进入视频生成页面,选择一个预训练模型,之前的代码中已经下载了一个,按照图片点击即可找到。
输入提示词。
2、基本配置
宽度和高度
本例设置宽度为512,高度为512。
3、上传图片Image to Video
选择图片,以下图为例
4、运行结果
点击生成即可运行,下面是运行的结果
背景知识
PAI
人工智能平台PAI是阿里云专为开发者打造的一站式机器学习平台,其主要由可视化建模(Designer)、交互式建模(DSW)、分布式训练(DLC)、模型在线服务(EAS)等核心功能模块组成,为您提供数据标注、模型开发、模型训练、模型部署的AI全链路研发服务,具有支持多种开源框架、多项AI优化能力、灵活易用的优势
Stable Diffusion
Stable Diffusion是强大的图像生成模型,能够生成高质量、高分辨率的图像,并具有良好的稳定性和可控性。
Stable Diffusion WebUI
Stable Diffusion WebUI开源项目在模型的基础上进行封装,基于Gradio开发了可视化图形界面,为用户提供了丰富的生图工具。
DSW(Data Science Workshop)
DSW是为算法开发者量身打造的一站式AI开发平台,集成了JupyterLab、WebIDE、Terminal多种云端开发环境,提供代码编写、调试及运行的沉浸式体验。提供丰富的异构计算资源,预置多种开源框架的镜像,实现开箱即用的高效开发模式。
AIGC(Artificial Intelligence Generative Content)
AIGC指利用人工智能技术自动生成内容的一种新型技术。这项技术主要基于机器学习和自然语言处理,能够自动化地生成包括文本、图像、音频在内的多种类型的内容
EasyAnimate
是一个用于生成长视频和训练基于transformer的扩散生成器的repo。V3最大支持720p 144帧(960x960, 6s, 24fps)视频生成,支持文与图生视频模型。
清理资源
如果无需继续使用工具,您可以按照以下操作步骤停止或删除工具。
前往PAI控制台
在工作空间页面的左侧导航栏中单击模型开发与训练—交互式建模(DSW)。在交互式建模(DSW)页面,找到目标服务。单击其右侧操作列下的停止/删除。
如果需要继续使用,请随时关注账号扣费情况,避免模型会因欠费而被自动停止。
关闭实验
在完成实验后,点击 结束实操
点击 取消 回到实验页面,点击 确定 跳转实验评分
请为本次实验评分,并给出您的建议,点击 确认,结束本次实验