chenjian
chenjian
看报错应该是版本的问题,试试升级一下paddle的版本看看
请问是在aistudio上的教程么
> 请问这个功能有实现吗…… 你们是因为当训练断掉时候,然后重新resume训练的时候,生成了一个新的日志文件,希望把之前的日志文件和新的日志文件给整合到一起,才有这样的需求是么。 但是实际上,我觉得支持这一需求应该是在你的训练代码中来实现这一功能,因为VDL对于续写一个日志的功能是提供了的,写数据的接口里也是包含了step参数的。我觉得当需要续写一个日志,而且又需要接着之前断开时的step继续写的这种场景,应该在训练代码里,对于resume这种情况,且续写一个VDL日志,通过LogReader来读一下断开时候的step在哪个位置,然后从调用add_scalar之类的接口时候,step就从上次断开时候的值开始指定。或者你的训练代码里已经有resume断开时候step值的功能,这样就直接接着续写日志就行了。
Hi, 这个问题正好这几天修复了,不好意思哦,要不您先把版本给降到2.3.0的visualdl来读, pip install visualdl==2.3.0 pip install flask_babel==2.0.0 我们在最近应该会发个小版本,到时候修复这一问题。
抱歉哈,可能是我们windows环境下的支持目前出问题了,看看升级一下版本能不能使用,我这周会找个机器进行测试解决一下看看
你好,收到您的反馈。这边希望能够更具体的了解您的使用场景和希望增加的接口类型,请问是纯C工程吗,还是在其它的语言里来调用C接口而已。 我理解是希望提供一个C API,能够不从文件中读图片,而是以其它方式直接从内存中将一组图片以FD_C_Mat数组形式返回。
Hi, 不知道你有没有注意到我们的FD_C_Mat 其实在C语言里使用void* 表示的,理论上你用任何高级语言只要绑定了OpenCV的,都可以直接把OpenCV的Mat指针直接当做FD_C_Mat放进去用,我们每个用到了FD_C_Mat的函数,内部其实都是把这个void*给转换成了cv::Mat来使用。所以,如果你在Go里面已经使用OpenCV读取了某个图像,你可以把这个Mat的指针直接当做FD_C_Mat的类型给放到C接口里面去使用的。我看了一下,好像Go语言确实也有绑定了OpenCV的package可以使用。 比如以下是我们C#中实现的某个Predict函数 ``` public DetectionResult Predict(Mat img) { FD_DetectionResult fd_detection_result = new FD_DetectionResult(); if(! FD_C_PPYOLOEWrapperPredict(fd_ppyoloe_wrapper, img.CvPtr, ref fd_detection_result)) { return null; } // predict DetectionResult detection_result =...
另外,我这里还想问一下关于'希望result支持nms重叠区域过滤,这个也是目标检测经常会使用到的业务场景'的这个需求,你们调用完我们的Predict函数获得推理结果后,在Go语言里是直接访问C的这个FD_C_DetectionResult进行使用么。我觉得比较合适的做法是,把FD_C_DetectionResult这个结构里的结果数据,转移到Go语言里你们自己定义的或者是某些CV库定义的结构中进行表示,然后用对应的库来对结果进行进一步的后处理等操作。当然,我们也可以封装以下FastDeploy里的后处理函数成C接口提供使用,但是这样的话,所有函数的处理结果一直都只能用C语言里的结构进行表示,比如nms筛选后的结果,依然还是用FD_C_DetectionResult里表示着,用Go语言来访问这个C语言的结构应该不是很方便的。因此,这边建议还是把结果先转移到Go语言里表示,然后做后处理啥的。当然,如果Go语言需求大的话,我们后续会考虑提供Go语言的SDK,采用Go语言封装好所有接口,像我们C# SDK那样,使得用户不需要自己来调用底层的C接口。
可能是装的fd默认没有打开这个编译选项 https://github.com/PaddlePaddle/FastDeploy/blob/develop/CMakeLists.txt#L75C1-L75C7