• 错误记录2022.11.22


    default argument given for parameter 2 of

    上面的问题可能是在函数的声明处和函数的定义处都指定默认值,这两处都指定了默认值的话,就会导致语法错误。
    解决方法:任意去掉一个默认值就可以,声明处或者定义处。

    Some tactics do not have sufficient workspace memory to run. Increasing workspace size may increase performance, please check verbose output.

    上面的问题就是典型tensorrt中setworkspace设置的太小,没有优化好。它根据你给的大小,只会还给你一个当前条件下最优的优化效果。

    在tensorrt编译阶段,每个layer都去寻找最优解,trt会在所有的解空间中搜寻最优的优化实现,不同的实现其使用的显存大小是不同的,这个workspace就是约束显存的使用量的。

    有时候我们会看到出现优化策略无法进行的警告,这就是由于显存开的太小没法找到最优解。直接显示给出防止编译时出现不确定,造成使用超出预期的内存空间。

    如果你不加限制有可能会造成系统中途内存挂掉。实际简单理解就是你如果不去给出一个明确的大小去限制这个,到时候有些层会尽力优化从而耗尽你的内存(显卡),你的内存就会挂掉。但是有个矛盾的地方就是你给的太小,优化不到位,就是性能会差一些。目前最新的8.4版本就不需要再给出workspace了。
    config->setMaxWorkspaceSize(3.0f * (1 << 30)); // 1<<30:1024mb 1<<28:256mb

    cannot allocate an object of abstract type“xx”

    上面的问题可能是在类继承,基类存在纯虚函数,而派生类没有全部重载纯虚函数。
    解决方法:在基类中申明的虚函数,在派生类中必须继承并实现。这样在new一个派生类时才不会报该错误。

    cannot call member function ‘***’ without object

    当直接引用某个类的方法,没有创建对象,因为这里面的其他函数都是static,是写在头文件中的,没有实际的object,所以必须也要定义成static。
    或者新建一个对象,再使用该对象的方法。

  • 相关阅读:
    mybatis-plus 使用技巧(一)
    js如何遍历对象的key和value
    C#策略模式、策略与简单工厂结合模式——商场收银系统
    力扣 (LeetCode) LeetCode HOT 100
    Jenkins之Maven的配置
    安装PostgreSql 9.6版本报错
    GreenPlum dblink实战
    2022-08-19 Mysql--数据库事务
    [从零学习汇编语言] - 内中断
    CorelDRAW软件Logo改名为Alludo
  • 原文地址:https://blog.csdn.net/qq_42178122/article/details/127989546