GithubHelp home page GithubHelp logo

resnet50vd耗时 about paddleclas HOT 32 CLOSED

paddlepaddle avatar paddlepaddle commented on July 28, 2024
resnet50vd耗时

from paddleclas.

Comments (32)

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

您好,我们使用的是Python API+tensorRT进行预测得到的速度指标:您可以参考这篇文档:https://github.com/PaddlePaddle/PaddleClas/blob/master/docs/zh_CN/extension/paddle_inference.md
具体的benchmark脚本是tools/infer/predict.py

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

多谢,原来是tensorRT加速得到的,想问下你们支持直接转caffe模型吗,还是说必须转成onnx,然后到caffe @littletomatodonkey

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

多谢,原来是tensorRT加速得到的,想问下你们支持直接转caffe模型吗,还是说必须转成onnx,然后到caffe @littletomatodonkey

我这边没有转过,不过目前是支持caffe/tf/onnx转成Paddle的,您可以在这里看支持的转换列表:https://github.com/PaddlePaddle/X2Paddle/blob/develop/x2paddle_model_zoo.md

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

安装paddle的时候 import paddle.fluid 报这个错 dlopen: cannot load any more object with static TLS,请问下怎么解决

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

@littletomatodonkey

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

安装paddle的时候 import paddle.fluid 报这个错 dlopen: cannot load any more object with static TLS,请问下怎么解决

您安装的Paddle版本是什么呢?建议您安装paddle1.7.0或者paddle1.7.1,都属于比较稳定的版本。或者有docker的话,可以直接拉取paddle的docker进行实验:https://www.paddlepaddle.org.cn/install/quick

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

1.8.2版本会报这个错,1.8.0不会报错

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

我要用x2paddle,提示要1.8.0以上的

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

我要用x2paddle,提示要1.8.0以上的

那您先使用paddle1.8.0或者paddle2.0呢?1.8.2这个安装问题我也反馈下

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

你好,你们有模型可视化的工具吗 @littletomatodonkey

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

你好,你们有模型可视化的工具吗 @littletomatodonkey

可以使用netron这个软件对导出的模型(tools/export_model.py)进可视化:https://github.com/lutzroeder/netron

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

你好,我这边训练保存出来的模型是ppcls.pdmodel ppcls.pdopt ppcls.pdparams,请问export_model.py参数说明有吗-m -p应该对应哪个

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

也有合并后的,只有model 和 params,到底哪个是可以可视化的

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

model是可以可视化的,model是结构文件,您将其修改为__model__ (前后各2各下划线,目前netron只支持这种文件名),就可以进行可视化了

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

你好,我训练的是一个res34VD的7类的分类器,在config中修改过 classes_num:7,然后训练出来的模型按照你的做法,在mode前后各加两个下划线,可视化出来发现全连接层维度依旧还是imagenet的1000,觉得很奇怪为什么是1000而不是7 @littletomatodonkey

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

你好,我训练的是一个res34VD的7类的分类器,在config中修改过 classes_num:7,然后训练出来的模型按照你的做法,在mode前后各加两个下划线,可视化出来发现全连接层维度依旧还是imagenet的1000,觉得很奇怪为什么是1000而不是7 @littletomatodonkey

你导出模型的时候也需要指定class_dim,默认是1000

parser.add_argument("--class_dim", type=int, default=1000)

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

多谢,这个问题解决了,还有两个问题:

  1. 一个就是我在模型可是话的时候,fc层为什么被你们展开成两层了(mul和elementwise_add),能直接变成fc层吗,方便转模型
  2. 转出来的模型在softmax后面为什么还接了一个scale层;然后转成onnx之后变成了softmax->Identity->scale_0.tmp_0
    麻烦解答下 @littletomatodonkey

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

您好,还有一个问题,我这边模型转出来的精度对不上,我想把中间层打印出来对下相似度,请问有什么函数可以直接获取当中某一层吗 @ @littletomatodonkey

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

多谢,这个问题解决了,还有两个问题:

  1. 一个就是我在模型可是话的时候,fc层为什么被你们展开成两层了(mul和elementwise_add),能直接变成fc层吗,方便转模型
  2. 转出来的模型在softmax后面为什么还接了一个scale层;然后转成onnx之后变成了softmax->Identity->scale_0.tmp_0
    麻烦解答下 @littletomatodonkey

你好,

  1. paddle的fc是通过mul和elem_add组合实现的,因此可以认为是2个单元,目前没法变成fc层
  2. 在预测的时候,Paddle中为了使用zerocopyrun的特性,会给所有的输出添加一个scale的操作。

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

您好,还有一个问题,我这边模型转出来的精度对不上,我想把中间层打印出来对下相似度,请问有什么函数可以直接获取当中某一层吗 @ @littletomatodonkey

你直接将要返回的tensor作为fetch list,拿出来就可以的,也可以使用fluid.layers.Print函数,在跑网络的时候实时打印tensor

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

您好,还有一个问题,我这边模型转出来的精度对不上,我想把中间层打印出来对下相似度,请问有什么函数可以直接获取当中某一层吗 @ @littletomatodonkey

你直接将要返回的tensor作为fetch list,拿出来就可以的,也可以使用fluid.layers.Print函数,在跑网络的时候实时打印tensor

能否举个例子,比如说我要把全连接层前的卷积层的featuremap打出来,我该怎么操作

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

您好,还有一个问题,我这边模型转出来的精度对不上,我想把中间层打印出来对下相似度,请问有什么函数可以直接获取当中某一层吗 @ @littletomatodonkey

你直接将要返回的tensor作为fetch list,拿出来就可以的,也可以使用fluid.layers.Print函数,在跑网络的时候实时打印tensor

能否举个例子,比如说我要把全连接层前的卷积层的featuremap打出来,我该怎么操作

以ResNet为例,在pool之后添加fluid.layers.Print(pool, summarize=10)就行,其中10是你要打印的feature map的元素数量。

pool = fluid.layers.pool2d(

from paddleclas.

wang-kangkang avatar wang-kangkang commented on July 28, 2024

能否举个例子,比如说我要把全连接层前的卷积层的featuremap打出来,我该怎么操作

paddle读取参数权重矩阵 weight = np.array(fluid.global_scope().find_var('conv2d_0.w_0').get_tensor())

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

您好,还有一个问题,我这边模型转出来的精度对不上,我想把中间层打印出来对下相似度,请问有什么函数可以直接获取当中某一层吗 @ @littletomatodonkey

你直接将要返回的tensor作为fetch list,拿出来就可以的,也可以使用fluid.layers.Print函数,在跑网络的时候实时打印tensor

能否举个例子,比如说我要把全连接层前的卷积层的featuremap打出来,我该怎么操作

以ResNet为例,在pool之后添加fluid.layers.Print(pool, summarize=10)就行,其中10是你要打印的feature map的元素数量。

pool = fluid.layers.pool2d(

按你的添加了,然后执行tools/infer/predict.py 来跑一张图,发现没进到刚添加的那段代码里

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

能否举个例子,比如说我要把全连接层前的卷积层的featuremap打出来,我该怎么操作

paddle读取参数权重矩阵 weight = np.array(fluid.global_scope().find_var('conv2d_0.w_0').get_tensor())

这个打印的是权重,我想打印的是featuremap

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

您好,还有一个问题,我这边模型转出来的精度对不上,我想把中间层打印出来对下相似度,请问有什么函数可以直接获取当中某一层吗 @ @littletomatodonkey

你直接将要返回的tensor作为fetch list,拿出来就可以的,也可以使用fluid.layers.Print函数,在跑网络的时候实时打印tensor

能否举个例子,比如说我要把全连接层前的卷积层的featuremap打出来,我该怎么操作

以ResNet为例,在pool之后添加fluid.layers.Print(pool, summarize=10)就行,其中10是你要打印的feature map的元素数量。

pool = fluid.layers.pool2d(

按你的添加了,然后执行tools/infer/predict.py 来跑一张图,发现没进到刚添加的那段代码里

toos/infer/predict.py是加载inference model运行,如果要在预测的时候打印中间值,你需要使用toos/infer/infer.py

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

您好,还有一个问题,我这边模型转出来的精度对不上,我想把中间层打印出来对下相似度,请问有什么函数可以直接获取当中某一层吗 @ @littletomatodonkey

你直接将要返回的tensor作为fetch list,拿出来就可以的,也可以使用fluid.layers.Print函数,在跑网络的时候实时打印tensor

能否举个例子,比如说我要把全连接层前的卷积层的featuremap打出来,我该怎么操作

以ResNet为例,在pool之后添加fluid.layers.Print(pool, summarize=10)就行,其中10是你要打印的feature map的元素数量。

pool = fluid.layers.pool2d(

按你的添加了,然后执行tools/infer/predict.py 来跑一张图,发现没进到刚添加的那段代码里

toos/infer/predict.py是加载inference model运行,如果要在预测的时候打印中间值,你需要使用toos/infer/infer.py

你好,值我打印出来了,我能把中间结果获取出来吗,因为发现fluid.layers.Print只能打印,没法保存

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

您好,还有一个问题,我这边模型转出来的精度对不上,我想把中间层打印出来对下相似度,请问有什么函数可以直接获取当中某一层吗 @ @littletomatodonkey

你直接将要返回的tensor作为fetch list,拿出来就可以的,也可以使用fluid.layers.Print函数,在跑网络的时候实时打印tensor

能否举个例子,比如说我要把全连接层前的卷积层的featuremap打出来,我该怎么操作

以ResNet为例,在pool之后添加fluid.layers.Print(pool, summarize=10)就行,其中10是你要打印的feature map的元素数量。

pool = fluid.layers.pool2d(

按你的添加了,然后执行tools/infer/predict.py 来跑一张图,发现没进到刚添加的那段代码里

toos/infer/predict.py是加载inference model运行,如果要在预测的时候打印中间值,你需要使用toos/infer/infer.py

你好,值我打印出来了,我能把中间结果获取出来吗,因为发现fluid.layers.Print只能打印,没法保存

你直接将要返回的tensor作为fetch list,拿出来就可以的,转成numpy之后就可以存储了,比如infer.py里的out拿出来,之后每次exe.run,就可以拿到结果,保存了

out = create_model(args, model, image)

outputs = exe.run(program,

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

您好,还有一个问题,我这边模型转出来的精度对不上,我想把中间层打印出来对下相似度,请问有什么函数可以直接获取当中某一层吗 @ @littletomatodonkey

你直接将要返回的tensor作为fetch list,拿出来就可以的,也可以使用fluid.layers.Print函数,在跑网络的时候实时打印tensor

能否举个例子,比如说我要把全连接层前的卷积层的featuremap打出来,我该怎么操作

以ResNet为例,在pool之后添加fluid.layers.Print(pool, summarize=10)就行,其中10是你要打印的feature map的元素数量。

pool = fluid.layers.pool2d(

按你的添加了,然后执行tools/infer/predict.py 来跑一张图,发现没进到刚添加的那段代码里

toos/infer/predict.py是加载inference model运行,如果要在预测的时候打印中间值,你需要使用toos/infer/infer.py

你好,值我打印出来了,我能把中间结果获取出来吗,因为发现fluid.layers.Print只能打印,没法保存

你直接将要返回的tensor作为fetch list,拿出来就可以的,转成numpy之后就可以存储了,比如infer.py里的out拿出来,之后每次exe.run,就可以拿到结果,保存了

稍微有点不理解
ax = np.array(fluid.layers.Print(pool, summarize=10))
????

from paddleclas.

Amore-HDU avatar Amore-HDU commented on July 28, 2024

你好,我想问下能不能直接指定某一层的feature map进行打印

from paddleclas.

littletomatodonkey avatar littletomatodonkey commented on July 28, 2024

你好,我想问下能不能直接指定某一层的feature map进行打印

可以参考下是怎么拿到softmax输出结果的,把out替换成你需要的feature map就行

return exe, infer_prog, [image.name], [out.name]

from paddleclas.

shippingwang avatar shippingwang commented on July 28, 2024

Feel free to reopen it~

from paddleclas.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.