PaddleX
PaddleX copied to clipboard
C# deploy分割模型部署问题
paddlex==2.0.0 cuda ==10.2 paddlepaddle==2.1 根据文档进行dll的导出,参考了文档里面的分割模型代码 https://github.com/PaddlePaddle/PaddleX/tree/develop/deploy/cpp/docs/csharp_deploy
出现一下问题:
我的语义分割模型是基于paddlex训练的UNet模型,
C#代码: byte[] color_map = get_color_map_list(256); string model_type = "seg"; string model_filename = "F:\PaddleData2\semantic_seg\segmodel\unet\inference_model\inference_model\model.pdmodel"; string params_filename = "F:\PaddleData2\semantic_seg\segmodel\unet\inference_model\inference_model\model.pdiparams"; string cfg_file = "F:\PaddleData2\semantic_seg\segmodel\unet\inference_model\inference_model\model.yml";
bool use_gpu = true;
int gpu_id = 0;
InitModel(model_type, model_filename, params_filename, cfg_file, use_gpu, gpu_id, ref paddlex_model_type[0]);
string img_file = "F:\\PaddleData2\\semantic_seg\\dataset\\data_seg\\JPEGImages\\horse001.jpg";
Bitmap origin_bmp = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(Cv2.ImRead(img_file));
Bitmap input_bmp = null;
// resize()
OpenCvSharp.Mat input_mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(origin_bmp);
OpenCvSharp.Mat output_mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(origin_bmp);
Cv2.Resize(input_mat, output_mat, new OpenCvSharp.Size(512, 512));
input_bmp = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(output_mat);
input_mat = null;
output_mat = null;
byte[] inputData = GetBGRValues(input_bmp, out int stride);
byte[] output_map = new byte[input_bmp.Height * input_bmp.Width];
TimeSpan infer_start_time = new TimeSpan(DateTime.Now.Ticks);
Seg_ModelPredict(inputData, input_bmp.Width, input_bmp.Height, 3, ref output_map[0]);
TimeSpan infer_end_time = new TimeSpan(DateTime.Now.Ticks);
input_bmp = CreateBitmap(output_map, input_bmp.Width, input_bmp.Height, color_map);
input_mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(input_bmp);
output_mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(input_bmp);
Cv2.Resize(input_mat, output_mat, new OpenCvSharp.Size(origin_bmp.Width, origin_bmp.Height));
input_mat = null;
input_mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(origin_bmp);
Cv2.AddWeighted(output_mat, 0.5, input_mat, 0.35, 1, output_mat);
input_bmp = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(output_mat);
if (pictureBox1.Image != null) pictureBox1.Image.Dispose();
pictureBox1.Image = origin_bmp;
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
if (pictureBox2.Image != null) pictureBox2.Image.Dispose();
pictureBox2.Image = input_bmp;
pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;
我的语义分割模型是基于paddlex训练的UNet模型,
如果是用paddlex训练的话,string model_type = "seg";要设成"paddlex",文档里面有说明,再看下吧
我的语义分割模型是基于paddlex训练的UNet模型,
如果是用paddlex训练的话,string model_type = "seg";要设成"paddlex",文档里面有说明,再看下吧
如果使用string model="paddlex" 就会报错
你的模型是用paddlex训练并导出的么?还是用PaddleSeg?
另外C++部署方式之前有测过过能正常运行么?https://github.com/PaddlePaddle/PaddleX/blob/develop/deploy/cpp/docs/deployment.md 可视化:FAQ Q4
你的模型是用paddlex训练并导出的么?还是用PaddleSeg?
你好,刚进行了测试 模型是paddlex训练并导出的。模型是Unet,刚测试了下C++部署,Unet不行的。没有输出结果。下面是输出的信息。
另外C++部署方式之前有测过过能正常运行么?https://github.com/PaddlePaddle/PaddleX/blob/develop/deploy/cpp/docs/deployment.md 可视化:FAQ Q4
测试了deeplabv3b是可以的
情况已了解,c#调用我们正在定位问题。
刚测试了下C++部署,Unet不行的。没有输出结果
这个不行是直接报错?还是没有可视化结果保存?
情况已了解,c#调用我们正在定位问题。
刚测试了下C++部署,Unet不行的。没有输出结果
这个不行是直接报错?还是没有可视化结果保存? 都没输出到我设置的输出信息,直接就退了,也没有什么报错信息
这是我基于paddlex训练的Unet模型: 链接:https://pan.baidu.com/s/1FWuLJXYnqpf-FFWiDbs08Q 提取码:knqr
这是用python跑的
问题被搁置了吗