Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

我使用自定义数据集进行静态离线量化的时候出现了问题 #1813

Open
sranqiu opened this issue Dec 6, 2023 · 1 comment
Assignees

Comments

@sranqiu
Copy link

sranqiu commented Dec 6, 2023

Bug:
raise TypeError(
TypeError: batch data con only contains: tensor, numpy.ndarray, dict, list, number, but got <class 'paddle.fluid.framework.Variable'

版本信息:
paddlepaddle-gpu 2.5.2
paddleslim release/2.5(python stepup.py install 安装)

静态离线量化代码:

import argparse
import paddle
from paddle.io import DataLoader
from paddleslim.quant import quant_post_static
from model.dataset import VimeoDataset

paddle.enable_static()
paddle.set_device("gpu")

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('--batch_size', default=16, type=int, help='minibatch size')
    parser.add_argument('--data_root', type=str, required=True, help='Path to the dataset')
    args = parser.parse_args()

    img0 = paddle.static.data(name="img0", shape=[None, 3, None, None], dtype="float32")
    img1 = paddle.static.data(name="img1", shape=[None, 3, None, None], dtype="float32")
    timestep = paddle.static.data(name="timestep", shape=[None, 1, None, None], dtype="float32")

    val_dataset = VimeoDataset(args.data_root, "val")
    val_dataloader = DataLoader(val_dataset, feed_list=[img0, img1, timestep], return_list=False, batch_size=args.batch_size, shuffle=False, drop_last=False)

    exe = paddle.paddle.static.Executor(paddle.CUDAPlace(0))
    quant_post_static(
        executor=exe,
        model_dir="./static_eval_model",
        quantize_model_path="./quant_post_static_model",
        data_loader=val_dataloader,
        model_filename="flownet.pdmodel",
        params_filename="flownet.pdiparams",
        batch_size=args.batch_size,
        algo="KL",
    )
@ZhangHandi
Copy link
Contributor

batch data类型不支持paddle.fluid.framework.Variable,可以先检查下是不是dataset的问题

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants