您好!
我使用 TIDL 来运行咖啡因模型。 我有两个 prototxt 文件、大多数参数共享、最后几层上只有不同的参数、例如:
咖啡因子:中间层1 +中间层2 +中间层3
原型 A:图层1 +图层2
原型 B:图层1 +图层3
在 Caffe 中、原型将通过其名称从咖啡因模型加载参数、但在 TIDL 上、我注意到它会根据层顺序加载参数。 TIDL 将 Caffemodel 和 prototxt 文件转换为网络文件和参数文件。 如果我使用 prototxt A 创建参数文件、它只包含 layer1和 layer2的参数、如果我使用网络文件 B 加载参数文件、它可以运行、但它只加载 layer1和2的参数、而不加载 layer1和3的参数。 如果我要运行两个模型、我必须创建两个参数文件、这会导致内存浪费。
我们的临时解决方案是使用三层不同的连接创建原型 A 和 B、因此未使用原型 A 上的第3层和原型 B 上的第2层。 但这意味着我们在计算这些层时浪费了一些 MAC。 是否有更好的解决方案? 是否可以创建一个伪图层来加载参数而不实际执行任何操作?
最好
浩源