我对tensorflow/keras有点陌生,我正在arduino上部署我的神经网络,我在互联网上到处找,找不到以下整数的作用(指定):
static tflite::MicroMutableOpResolver**<3>** micro_mutable_op_resolver;
micro_mutable_op_resolver.AddFullyConnected();//
micro_mutable_op_resolver.AddLogistic();//
micro_mutable_op_resolver.AddRelu();
如果我把0,1,2放入这个语句,我的代码不能正常工作,只有当数字是3或更大的时候才能正常工作。
提前感谢您的帮助!乔纳森。
这是一个模板参数,指定可以注册到tflite::MicroMutableOpResolver
对象的最大操作数。
您在该行后面使用了三个*.Add
函数调用(即注册三个操作),因此您需要解析器的容量至少为3。
TensorFlow是开源的,所以你总是可以从代码中寻找答案。在这里检查头文件。注意类定义:
template <unsigned int tOpCount>
class MicroMutableOpResolver : public MicroOpResolver {
...
tOpCount
是您在代码中设置为3
的值。如果你想了解它是如何使用的详细信息,你可以在header中跟踪它。
如果模板参数对你来说是新的(从这个问题看来你对c++也相当陌生),你可以在cppreference上得到你需要的所有细节(你的情况是一个"非类型模板参数")。任何像样的c++教程都应该以一种对新手更友好的方式来涵盖这个主题。