finedance 测试笔记

2024-03-01 00:04
文章标签 笔记 测试 finedance

本文主要是介绍finedance 测试笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

依赖库:

预测流程:

音乐wav切割120帧

general_all.py改进

模型EDGE

数据格式 smplx 学习笔记:


依赖库:

import pickle5 as pickle

pypi尚pickle5最高python版本3.7:

pickle5 · PyPI

解决方法,改为

import pickle

预测流程:

Data preprocessing
python data/code/pre_motion.py

处理运动数据 npy转npy

音乐wav切割120帧

data/code/pre_music.py


Training
accelerate launch train_seq.py
Generate
python data/code/slice_music_motion.py
python generate_all.py  --motion_save_dir generated/finedance_seq_120_dancer --save_motions
Generate dance by custom music
python test.py --music_dir 'your music dir' --save_motions
Visualization
python render.py --modir eval/motions --gpu 0

general_all.py改进

import glob
import os,sys
from functools import cmp_to_key
from pathlib import Path# import jukemirlib
import numpy as np
import torch
from tqdm import tqdmfrom args import FineDance_parse_test_opt
from train_seq import EDGE
from dataset.FineDance_dataset import get_train_test_list# test_list = ["063", "132", "143", "036", "098", "198", "130", "012", "211", "193", "179", "065", "137", "161", "092", "120", "037", "109", "204", "144"]def test(opt):# split = get_train_test_dict(opt.datasplit)train_list, test_list, ignore_list = get_train_test_list(opt.datasplit)for file in os.listdir(music_dir):if file[:3] in ignore_list:continueif not file[:3] in test_list:continuefile_name = file[:-4]music_fea = np.load(os.path.join(music_dir, file))music_fea = torch.from_numpy(music_fea).cuda().unsqueeze(0)music_fea = music_fea.repeat(count, 1, 1)all_filenames = [file_name]*count# directory for optionally saving the dances for evalfk_out = Noneif opt.save_motions:fk_out = opt.motion_save_diros.makedirs(fk_out,exist_ok=True)model = EDGE(opt, opt.feature_type, opt.checkpoint)model.eval()data_tuple = None, music_fea, all_filenamesmodel.render_sample(data_tuple, "test", opt.render_dir, render_count=10, mode='normal', fk_out=fk_out, render=not opt.no_render)print("Done")if __name__ == "__main__":test_list = ["063", "144"]data_dir=r'E:\迅雷下载/'music_dir = data_dir+"data/finedance/div_by_time/music_npy_120"count = 10opt = FineDance_parse_test_opt()test(opt)# python test.py --save_motions

模型EDGE

模型原来输入长度是120,改为240后,预训练不能用了。

        model = SeqModel(nfeats=repr_dim,seq_len=horizon,latent_dim=512,ff_size=1024,num_layers=8,num_heads=8,dropout=0.1,cond_feature_dim=feature_dim,activation=F.gelu,)if opt.nfeats == 139 or opt.nfeats == 135:smplx_fk = SMPLSkeleton(device=self.accelerator.device)else:smplx_fk = SMPLX_Skeleton(device=self.accelerator.device, batch=512000)diffusion = GaussianDiffusion(model,opt,horizon,repr_dim,smplx_model = smplx_fk,schedule="cosine",n_timestep=1000,predict_epsilon=False,loss_type="l2",use_p2=False,cond_drop_prob=0.25,guidance_weight=2,do_normalize = opt.do_normalize)print("Model has {} parameters".format(sum(y.numel() for y in model.parameters())))self.model = self.accelerator.prepare(model)    

数据格式 smplx 学习笔记:

SMPL学习笔记_smplx 如何描述人体-CSDN博客

这篇关于finedance 测试笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/760529

相关文章

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题