首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TensorFlow Lite是否支持keras函数Flatten()?

TensorFlow Lite是否支持keras函数Flatten()?
EN

Stack Overflow用户
提问于 2020-06-25 16:59:05
回答 1查看 435关注 0票数 1

我正在建立我自己的CNN,我试图把它放在一个迪斯科-f746ng根据"TensorFlow Lite为微控制器“的教程和TinyML的书。我知道支持的tensorflow-keras函数可以在这里找到:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/micro/all_ops_resolver.cc,但是Flatten()函数似乎没有列出。这让我很恼火,因为它是一个非常基本的函数,所以我想也许它在all_ops_resolver中有一个不同的名称。我只使用列出的函数和Flatten()函数。当我用我自己的模型运行测试时,无论我分配多少空间,我总是会有一个分割错误。这就是为什么我想问Flatten()函数是否受到TensorFlow Lite的支持?

这是我创建CNN的Python代码:

代码语言:javascript
复制
model = models.Sequential()
model.add(layers.Conv2D(16, (3, 3), activation='relu', input_shape=(36, 36, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(36, 36, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu', input_shape=(36, 36, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(8, activation='softmax'))
model.add(layers.Dense(2))

model.summary()

model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-27 02:42:37

好吧,我想我现在明白了。我还有一个导致分割错误的问题,但我现在解决了。之后,我准备检查是否支持Flatten()它工作了!

上面的CNN模型代码在向微操作解析器中添加以下内置程序时工作:

代码语言:javascript
复制
tflite::MicroMutableOpResolver<5> micro_op_resolver;

micro_op_resolver.AddConv2D();
micro_ou_resolver.AddFullyConnected();
micro_op_resolver.AddMaxPool2D();
micro_op_resolver.AddSoftmax();
micro_op_resolver.AddReshape();

根据我的尝试和错误方法,添加RESHAPE()对于能够使用Flatten()是必要的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62580548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档