不支持Keras层' '。将keras模型.h5转换为.mlmodel

问题描述 投票:0回答:1

我最近从我的同事那里收到了一个keras模型(facenet_keras.h5)。该模型将输入160 x 160 x 3的输入图像,并输出1 x 128的矢量。我的工作是将给定的模型转换为iOS项目的coreML模型。

我已经使用coremltools尝试将模型转换为mlmodel,但是我一直收到消息Keras layer '<class 'keras.layers.core.Lambda'>' not supported.

我已经包括了模型中的所有层。该模型非常重(91 mb)。

<keras.engine.input_layer.InputLayer at 0x141c4a588>,
 <keras.layers.convolutional.Conv2D at 0x141c4a908>,
 <keras.layers.normalization.BatchNormalization at 0x141c4ab70>,
 <keras.layers.core.Activation at 0x141c4a278>,
 <keras.layers.convolutional.Conv2D at 0x141c4a0f0>,
 <keras.layers.normalization.BatchNormalization at 0x141c4a7f0>,
 <keras.layers.core.Activation at 0x141c4a2e8>,
 <keras.layers.convolutional.Conv2D at 0x149a10a58>,
 <keras.layers.normalization.BatchNormalization at 0x149a10320>,
 <keras.layers.core.Activation at 0x149a106d8>,
 <keras.layers.pooling.MaxPooling2D at 0x149a108d0>,
 <keras.layers.convolutional.Conv2D at 0x141c3ff60>,
 <keras.layers.normalization.BatchNormalization at 0x1544ff198>,
 <keras.layers.core.Activation at 0x1544ff2b0>,
 <keras.layers.convolutional.Conv2D at 0x1544ff2e8>,
 <keras.layers.normalization.BatchNormalization at 0x1544ff470>,
 <keras.layers.core.Activation at 0x1544ff588>,
 <keras.layers.convolutional.Conv2D at 0x1544ff5c0>,
 <keras.layers.normalization.BatchNormalization at 0x1544ff748>,
 <keras.layers.core.Activation at 0x1544ff860>,
 <keras.layers.convolutional.Conv2D at 0x1544ff898>,
 <keras.layers.normalization.BatchNormalization at 0x1544ffa20>,
 <keras.layers.core.Activation at 0x1544ffb38>,
 <keras.layers.convolutional.Conv2D at 0x1544ffb70>,
 <keras.layers.convolutional.Conv2D at 0x1544ffcf8>,
 <keras.layers.normalization.BatchNormalization at 0x1544ffe80>,
 <keras.layers.normalization.BatchNormalization at 0x1544fff98>,
 <keras.layers.core.Activation at 0x149a10630>,
 <keras.layers.core.Activation at 0x1544f6128>,
 <keras.layers.convolutional.Conv2D at 0x1544f6160>,
 <keras.layers.convolutional.Conv2D at 0x1544f62e8>,
 <keras.layers.convolutional.Conv2D at 0x1544f6470>,
 <keras.layers.normalization.BatchNormalization at 0x1544f65f8>,
 <keras.layers.normalization.BatchNormalization at 0x1544f6710>,
 <keras.layers.normalization.BatchNormalization at 0x1544f6828>,
 <keras.layers.core.Activation at 0x1544f6940>,
 <keras.layers.core.Activation at 0x1544f6978>,
 <keras.layers.core.Activation at 0x1544f69b0>,
 <keras.layers.merge.Concatenate at 0x1544f69e8>,
 <keras.layers.convolutional.Conv2D at 0x1544f6a20>,
 <keras.layers.core.Lambda at 0x1544f6ba8>,
 <keras.layers.core.Activation at 0x1544f6be0>,
 <keras.layers.convolutional.Conv2D at 0x1544f6c18>,
 <keras.layers.normalization.BatchNormalization at 0x1544f6c50>,
 <keras.layers.core.Activation at 0x1544f6dd8>,
 <keras.layers.convolutional.Conv2D at 0x1544f6ef0>,
 <keras.layers.convolutional.Conv2D at 0x1545050f0>,
 <keras.layers.normalization.BatchNormalization at 0x154505278>,
 <keras.layers.normalization.BatchNormalization at 0x154505390>,
 <keras.layers.core.Activation at 0x1545054a8>,
 <keras.layers.core.Activation at 0x1545054e0>,
 <keras.layers.convolutional.Conv2D at 0x154505518>,
 <keras.layers.convolutional.Conv2D at 0x1545056a0>,
 <keras.layers.convolutional.Conv2D at 0x154505828>,
 <keras.layers.normalization.BatchNormalization at 0x1545059b0>,
 <keras.layers.normalization.BatchNormalization at 0x154505ac8>,
 <keras.layers.normalization.BatchNormalization at 0x154505be0>,
 <keras.layers.core.Activation at 0x154505cf8>,
 <keras.layers.core.Activation at 0x154505d30>,
 <keras.layers.core.Activation at 0x154505d68>,
 <keras.layers.merge.Concatenate at 0x154505da0>,
 <keras.layers.convolutional.Conv2D at 0x154505dd8>,
 <keras.layers.core.Lambda at 0x154505f60>,
 <keras.layers.core.Activation at 0x154505f98>,
 <keras.layers.convolutional.Conv2D at 0x15450b048>,
 <keras.layers.normalization.BatchNormalization at 0x15450b1d0>,
 <keras.layers.core.Activation at 0x15450b2e8>,
 <keras.layers.convolutional.Conv2D at 0x15450b320>,
 <keras.layers.convolutional.Conv2D at 0x15450b4a8>,
 <keras.layers.normalization.BatchNormalization at 0x15450b630>,
 <keras.layers.normalization.BatchNormalization at 0x15450b748>,
 <keras.layers.core.Activation at 0x15450b860>,
 <keras.layers.core.Activation at 0x15450b898>,
 <keras.layers.convolutional.Conv2D at 0x15450b8d0>,
 <keras.layers.convolutional.Conv2D at 0x15450ba58>,
 <keras.layers.convolutional.Conv2D at 0x15450bbe0>,
 <keras.layers.normalization.BatchNormalization at 0x15450bd68>,
 <keras.layers.normalization.BatchNormalization at 0x15450be80>,
 <keras.layers.normalization.BatchNormalization at 0x15450bf98>,
 <keras.layers.core.Activation at 0x154505fd0>,
 <keras.layers.core.Activation at 0x154513128>,
 <keras.layers.core.Activation at 0x154513160>,
 <keras.layers.merge.Concatenate at 0x154513198>,
 <keras.layers.convolutional.Conv2D at 0x1545131d0>,
 <keras.layers.core.Lambda at 0x154513358>,
 <keras.layers.core.Activation at 0x154513390>,
 <keras.layers.convolutional.Conv2D at 0x1545133c8>,
 <keras.layers.normalization.BatchNormalization at 0x154513400>,
 <keras.layers.core.Activation at 0x154513588>,
 <keras.layers.convolutional.Conv2D at 0x1545136a0>,
 <keras.layers.convolutional.Conv2D at 0x1545136d8>,
 <keras.layers.normalization.BatchNormalization at 0x154513860>,
 <keras.layers.normalization.BatchNormalization at 0x1545139e8>,
 <keras.layers.core.Activation at 0x154513b00>,
 <keras.layers.core.Activation at 0x154513c18>,
 <keras.layers.convolutional.Conv2D at 0x154513c50>,
 <keras.layers.convolutional.Conv2D at 0x154513c88>,
 <keras.layers.convolutional.Conv2D at 0x154513e10>,
 <keras.layers.normalization.BatchNormalization at 0x15451a160>,
 <keras.layers.normalization.BatchNormalization at 0x15451a278>,
 <keras.layers.normalization.BatchNormalization at 0x15451a390>,
 <keras.layers.core.Activation at 0x15451a4a8>,
 <keras.layers.core.Activation at 0x15451a4e0>,
 <keras.layers.core.Activation at 0x15451a518>,
 <keras.layers.merge.Concatenate at 0x15451a550>,
 <keras.layers.convolutional.Conv2D at 0x15451a588>,
 <keras.layers.core.Lambda at 0x15451a710>,
 <keras.layers.core.Activation at 0x15451a748>,
 <keras.layers.convolutional.Conv2D at 0x15451a780>,
 <keras.layers.normalization.BatchNormalization at 0x15451a7b8>,
 <keras.layers.core.Activation at 0x15451a940>,
 <keras.layers.convolutional.Conv2D at 0x15451aa58>,
 <keras.layers.convolutional.Conv2D at 0x15451aa90>,
 <keras.layers.normalization.BatchNormalization at 0x15451ac18>,
 <keras.layers.normalization.BatchNormalization at 0x15451ada0>,
 <keras.layers.core.Activation at 0x15451aeb8>,
 <keras.layers.core.Activation at 0x154521048>,
 <keras.layers.convolutional.Conv2D at 0x154521080>,
 <keras.layers.convolutional.Conv2D at 0x154521208>,
 <keras.layers.convolutional.Conv2D at 0x154521390>,
 <keras.layers.normalization.BatchNormalization at 0x154521518>,
 <keras.layers.normalization.BatchNormalization at 0x154521630>,
 <keras.layers.normalization.BatchNormalization at 0x154521748>,
 <keras.layers.core.Activation at 0x154521860>,
 <keras.layers.core.Activation at 0x154521898>,
 <keras.layers.core.Activation at 0x1545218d0>,
 <keras.layers.merge.Concatenate at 0x154521908>,
 <keras.layers.convolutional.Conv2D at 0x154521940>,
 <keras.layers.core.Lambda at 0x154521ac8>,
 <keras.layers.core.Activation at 0x154521b00>,
 <keras.layers.convolutional.Conv2D at 0x154521b38>,
 <keras.layers.normalization.BatchNormalization at 0x154521b70>,
 <keras.layers.core.Activation at 0x154521cf8>,
 <keras.layers.convolutional.Conv2D at 0x154521e10>,
 <keras.layers.normalization.BatchNormalization at 0x154521e48>,
 <keras.layers.core.Activation at 0x145f2a128>,
 <keras.layers.convolutional.Conv2D at 0x145f2a160>,
 <keras.layers.convolutional.Conv2D at 0x145f2a2e8>,
 <keras.layers.normalization.BatchNormalization at 0x145f2a470>,
 <keras.layers.normalization.BatchNormalization at 0x145f2a588>,
 <keras.layers.core.Activation at 0x145f2a6a0>,
 <keras.layers.core.Activation at 0x145f2a6d8>,
 <keras.layers.pooling.MaxPooling2D at 0x145f2a710>,
 <keras.layers.merge.Concatenate at 0x145f2a7b8>,
 <keras.layers.convolutional.Conv2D at 0x145f2a7f0>,
 <keras.layers.normalization.BatchNormalization at 0x145f2a978>,
 <keras.layers.core.Activation at 0x145f2aa90>,
 <keras.layers.convolutional.Conv2D at 0x145f2aac8>,
 <keras.layers.normalization.BatchNormalization at 0x145f2ac50>,
 <keras.layers.core.Activation at 0x145f2ad68>,
 <keras.layers.convolutional.Conv2D at 0x145f2ada0>,
 <keras.layers.convolutional.Conv2D at 0x145f2af28>,
 <keras.layers.normalization.BatchNormalization at 0x145f590f0>,
 <keras.layers.normalization.BatchNormalization at 0x145f59208>,
 <keras.layers.core.Activation at 0x145f59320>,
 <keras.layers.core.Activation at 0x145f59358>,
 <keras.layers.merge.Concatenate at 0x145f59390>,
 <keras.layers.convolutional.Conv2D at 0x145f593c8>,
 <keras.layers.core.Lambda at 0x145f59550>,
 <keras.layers.core.Activation at 0x145f59588>,
 <keras.layers.convolutional.Conv2D at 0x145f595c0>,
 <keras.layers.normalization.BatchNormalization at 0x145f595f8>,
 <keras.layers.core.Activation at 0x145f59780>,
 <keras.layers.convolutional.Conv2D at 0x145f59898>,
 <keras.layers.normalization.BatchNormalization at 0x145f598d0>,
 <keras.layers.core.Activation at 0x145f59a58>,
 <keras.layers.convolutional.Conv2D at 0x145f59b70>,
 <keras.layers.convolutional.Conv2D at 0x145f59ba8>,
 <keras.layers.normalization.BatchNormalization at 0x145f59d30>,
 <keras.layers.normalization.BatchNormalization at 0x145f59eb8>,
 <keras.layers.core.Activation at 0x145f30128>,
 <keras.layers.core.Activation at 0x145f30160>,
 <keras.layers.merge.Concatenate at 0x145f30198>,
 <keras.layers.convolutional.Conv2D at 0x145f301d0>,
 <keras.layers.core.Lambda at 0x145f30358>,
 <keras.layers.core.Activation at 0x145f30390>,
 <keras.layers.convolutional.Conv2D at 0x145f303c8>,
 <keras.layers.normalization.BatchNormalization at 0x145f30400>,
 <keras.layers.core.Activation at 0x145f30588>,
 <keras.layers.convolutional.Conv2D at 0x145f306a0>,
 <keras.layers.normalization.BatchNormalization at 0x145f306d8>,
 <keras.layers.core.Activation at 0x145f30860>,
 <keras.layers.convolutional.Conv2D at 0x145f30978>,
 <keras.layers.convolutional.Conv2D at 0x145f309b0>,
 <keras.layers.normalization.BatchNormalization at 0x145f30b38>,
 <keras.layers.normalization.BatchNormalization at 0x145f30cc0>,
 <keras.layers.core.Activation at 0x145f30dd8>,
 <keras.layers.core.Activation at 0x145f30ef0>,
 <keras.layers.merge.Concatenate at 0x145f30f28>,
 <keras.layers.convolutional.Conv2D at 0x145f30f60>,
 <keras.layers.core.Lambda at 0x145f2c160>,
 <keras.layers.core.Activation at 0x145f2c198>,
 <keras.layers.convolutional.Conv2D at 0x145f2c1d0>,
 <keras.layers.normalization.BatchNormalization at 0x145f2c208>,
 <keras.layers.core.Activation at 0x145f2c390>,
 <keras.layers.convolutional.Conv2D at 0x145f2c4a8>,
 <keras.layers.normalization.BatchNormalization at 0x145f2c4e0>,
 <keras.layers.core.Activation at 0x145f2c668>,
 <keras.layers.convolutional.Conv2D at 0x145f2c780>,
 <keras.layers.convolutional.Conv2D at 0x145f2c7b8>,
 <keras.layers.normalization.BatchNormalization at 0x145f2c940>,
 <keras.layers.normalization.BatchNormalization at 0x145f2cac8>,
 <keras.layers.core.Activation at 0x145f2cbe0>,
 <keras.layers.core.Activation at 0x145f2ccf8>,
 <keras.layers.merge.Concatenate at 0x145f2cd30>,
 <keras.layers.convolutional.Conv2D at 0x145f2cd68>,
 <keras.layers.core.Lambda at 0x145f2cda0>,
 <keras.layers.core.Activation at 0x145f2cf60>,
 <keras.layers.convolutional.Conv2D at 0x145f2cf98>,
 <keras.layers.normalization.BatchNormalization at 0x145f54198>,
 <keras.layers.core.Activation at 0x145f542b0>,
 <keras.layers.convolutional.Conv2D at 0x145f542e8>,
 <keras.layers.normalization.BatchNormalization at 0x145f54470>,
 <keras.layers.core.Activation at 0x145f54588>,
 <keras.layers.convolutional.Conv2D at 0x145f545c0>,
 <keras.layers.convolutional.Conv2D at 0x145f54748>,
 <keras.layers.normalization.BatchNormalization at 0x145f548d0>,
 <keras.layers.normalization.BatchNormalization at 0x145f549e8>,
 <keras.layers.core.Activation at 0x145f54b00>,
 <keras.layers.core.Activation at 0x145f54b38>,
 <keras.layers.merge.Concatenate at 0x145f54b70>,
 <keras.layers.convolutional.Conv2D at 0x145f54ba8>,
 <keras.layers.core.Lambda at 0x145f54d30>,
 <keras.layers.core.Activation at 0x145f54d68>,
 <keras.layers.convolutional.Conv2D at 0x145f54da0>,
 <keras.layers.normalization.BatchNormalization at 0x145f54dd8>,
 <keras.layers.core.Activation at 0x145f54f60>,
 <keras.layers.convolutional.Conv2D at 0x145f3e0f0>,
 <keras.layers.normalization.BatchNormalization at 0x145f3e278>,
 <keras.layers.core.Activation at 0x145f3e390>,
 <keras.layers.convolutional.Conv2D at 0x145f3e3c8>,
 <keras.layers.convolutional.Conv2D at 0x145f3e550>,
 <keras.layers.normalization.BatchNormalization at 0x145f3e6d8>,
 <keras.layers.normalization.BatchNormalization at 0x145f3e7f0>,
 <keras.layers.core.Activation at 0x145f3e908>,
 <keras.layers.core.Activation at 0x145f3e940>,
 <keras.layers.merge.Concatenate at 0x145f3e978>,
 <keras.layers.convolutional.Conv2D at 0x145f3e9b0>,
 <keras.layers.core.Lambda at 0x145f3eb38>,
 <keras.layers.core.Activation at 0x145f3eb70>,
 <keras.layers.convolutional.Conv2D at 0x145f3eba8>,
 <keras.layers.normalization.BatchNormalization at 0x145f3ebe0>,
 <keras.layers.core.Activation at 0x145f3ed68>,
 <keras.layers.convolutional.Conv2D at 0x145f3ee80>,
 <keras.layers.normalization.BatchNormalization at 0x145f65080>,
 <keras.layers.core.Activation at 0x145f65198>,
 <keras.layers.convolutional.Conv2D at 0x145f651d0>,
 <keras.layers.convolutional.Conv2D at 0x145f65358>,
 <keras.layers.normalization.BatchNormalization at 0x145f654e0>,
 <keras.layers.normalization.BatchNormalization at 0x145f655f8>,
 <keras.layers.core.Activation at 0x145f65710>,
 <keras.layers.core.Activation at 0x145f65748>,
 <keras.layers.merge.Concatenate at 0x145f65780>,
 <keras.layers.convolutional.Conv2D at 0x145f657b8>,
 <keras.layers.core.Lambda at 0x145f65940>,
 <keras.layers.core.Activation at 0x145f65978>,
 <keras.layers.convolutional.Conv2D at 0x145f659b0>,
 <keras.layers.normalization.BatchNormalization at 0x145f659e8>,
 <keras.layers.core.Activation at 0x145f65b70>,
 <keras.layers.convolutional.Conv2D at 0x145f65c88>,
 <keras.layers.normalization.BatchNormalization at 0x145f65cc0>,
 <keras.layers.core.Activation at 0x145f65e48>,
 <keras.layers.convolutional.Conv2D at 0x145f65f60>,
 <keras.layers.convolutional.Conv2D at 0x150376160>,
 <keras.layers.normalization.BatchNormalization at 0x1503762e8>,
 <keras.layers.normalization.BatchNormalization at 0x150376400>,
 <keras.layers.core.Activation at 0x150376518>,
 <keras.layers.core.Activation at 0x150376550>,
 <keras.layers.merge.Concatenate at 0x150376588>,
 <keras.layers.convolutional.Conv2D at 0x1503765c0>,
 <keras.layers.core.Lambda at 0x150376748>,
 <keras.layers.core.Activation at 0x150376780>,
 <keras.layers.convolutional.Conv2D at 0x1503767b8>,
 <keras.layers.normalization.BatchNormalization at 0x1503767f0>,
 <keras.layers.core.Activation at 0x150376978>,
 <keras.layers.convolutional.Conv2D at 0x150376a90>,
 <keras.layers.normalization.BatchNormalization at 0x150376ac8>,
 <keras.layers.core.Activation at 0x150376c50>,
 <keras.layers.convolutional.Conv2D at 0x150376d68>,
 <keras.layers.convolutional.Conv2D at 0x150376da0>,
 <keras.layers.normalization.BatchNormalization at 0x1503810f0>,
 <keras.layers.normalization.BatchNormalization at 0x150381208>,
 <keras.layers.core.Activation at 0x150381320>,
 <keras.layers.core.Activation at 0x150381358>,
 <keras.layers.merge.Concatenate at 0x150381390>,
 <keras.layers.convolutional.Conv2D at 0x1503813c8>,
 <keras.layers.core.Lambda at 0x150381550>,
 <keras.layers.core.Activation at 0x150381588>,
 <keras.layers.convolutional.Conv2D at 0x1503815c0>,
 <keras.layers.normalization.BatchNormalization at 0x1503815f8>,
 <keras.layers.core.Activation at 0x150381780>,
 <keras.layers.convolutional.Conv2D at 0x150381898>,
 <keras.layers.normalization.BatchNormalization at 0x1503818d0>,
 <keras.layers.core.Activation at 0x150381a58>,
 <keras.layers.convolutional.Conv2D at 0x150381b70>,
 <keras.layers.convolutional.Conv2D at 0x150381ba8>,
 <keras.layers.normalization.BatchNormalization at 0x150381d30>,
 <keras.layers.normalization.BatchNormalization at 0x150381eb8>,
 <keras.layers.core.Activation at 0x150358128>,
 <keras.layers.core.Activation at 0x150358160>,
 <keras.layers.merge.Concatenate at 0x150358198>,
 <keras.layers.convolutional.Conv2D at 0x1503581d0>,
 <keras.layers.core.Lambda at 0x150358358>,
 <keras.layers.core.Activation at 0x150358390>,
 <keras.layers.convolutional.Conv2D at 0x1503583c8>,
 <keras.layers.normalization.BatchNormalization at 0x150358400>,
 <keras.layers.core.Activation at 0x150358588>,
 <keras.layers.convolutional.Conv2D at 0x1503586a0>,
 <keras.layers.convolutional.Conv2D at 0x1503586d8>,
 <keras.layers.convolutional.Conv2D at 0x150358860>,
 <keras.layers.normalization.BatchNormalization at 0x1503589e8>,
 <keras.layers.normalization.BatchNormalization at 0x150358b70>,
 <keras.layers.normalization.BatchNormalization at 0x150358c88>,
 <keras.layers.core.Activation at 0x150358da0>,
 <keras.layers.core.Activation at 0x150358eb8>,
 <keras.layers.core.Activation at 0x150358ef0>,
 <keras.layers.convolutional.Conv2D at 0x150358f28>,
 <keras.layers.convolutional.Conv2D at 0x150366128>,
 <keras.layers.convolutional.Conv2D at 0x1503662b0>,
 <keras.layers.normalization.BatchNormalization at 0x150366438>,
 <keras.layers.normalization.BatchNormalization at 0x150366550>,
 <keras.layers.normalization.BatchNormalization at 0x150366668>,
 <keras.layers.core.Activation at 0x150366780>,
 <keras.layers.core.Activation at 0x1503667b8>,
 <keras.layers.core.Activation at 0x1503667f0>,
 <keras.layers.pooling.MaxPooling2D at 0x150366828>,
 <keras.layers.merge.Concatenate at 0x1503668d0>,
 <keras.layers.convolutional.Conv2D at 0x150366908>,
 <keras.layers.normalization.BatchNormalization at 0x150366a90>,
 <keras.layers.core.Activation at 0x150366ba8>,
 <keras.layers.convolutional.Conv2D at 0x150366be0>,
 <keras.layers.normalization.BatchNormalization at 0x150366d68>,
 <keras.layers.core.Activation at 0x150366e80>,
 <keras.layers.convolutional.Conv2D at 0x150366eb8>,
 <keras.layers.convolutional.Conv2D at 0x150385080>,
 <keras.layers.normalization.BatchNormalization at 0x150385208>,
 <keras.layers.normalization.BatchNormalization at 0x150385320>,
 <keras.layers.core.Activation at 0x150385438>,
 <keras.layers.core.Activation at 0x150385470>,
 <keras.layers.merge.Concatenate at 0x1503854a8>,
 <keras.layers.convolutional.Conv2D at 0x1503854e0>,
 <keras.layers.core.Lambda at 0x150385668>,
 <keras.layers.core.Activation at 0x1503856a0>,
 <keras.layers.convolutional.Conv2D at 0x1503856d8>,
 <keras.layers.normalization.BatchNormalization at 0x150385710>,
 <keras.layers.core.Activation at 0x150385898>,
 <keras.layers.convolutional.Conv2D at 0x1503859b0>,
 <keras.layers.normalization.BatchNormalization at 0x1503859e8>,
 <keras.layers.core.Activation at 0x150385b70>,
 <keras.layers.convolutional.Conv2D at 0x150385c88>,
 <keras.layers.convolutional.Conv2D at 0x150385cc0>,
 <keras.layers.normalization.BatchNormalization at 0x150385e48>,
 <keras.layers.normalization.BatchNormalization at 0x15038b128>,
 <keras.layers.core.Activation at 0x15038b240>,
 <keras.layers.core.Activation at 0x15038b278>,
 <keras.layers.merge.Concatenate at 0x15038b2b0>,
 <keras.layers.convolutional.Conv2D at 0x15038b2e8>,
 <keras.layers.core.Lambda at 0x15038b470>,
 <keras.layers.core.Activation at 0x15038b4a8>,
 <keras.layers.convolutional.Conv2D at 0x15038b4e0>,
 <keras.layers.normalization.BatchNormalization at 0x15038b518>,
 <keras.layers.core.Activation at 0x15038b6a0>,
 <keras.layers.convolutional.Conv2D at 0x15038b7b8>,
 <keras.layers.normalization.BatchNormalization at 0x15038b7f0>,
 <keras.layers.core.Activation at 0x15038b978>,
 <keras.layers.convolutional.Conv2D at 0x15038ba90>,
 <keras.layers.convolutional.Conv2D at 0x15038bac8>,
 <keras.layers.normalization.BatchNormalization at 0x15038bc50>,
 <keras.layers.normalization.BatchNormalization at 0x15038bdd8>,
 <keras.layers.core.Activation at 0x15038bef0>,
 <keras.layers.core.Activation at 0x150373080>,
 <keras.layers.merge.Concatenate at 0x1503730b8>,
 <keras.layers.convolutional.Conv2D at 0x1503730f0>,
 <keras.layers.core.Lambda at 0x150373278>,
 <keras.layers.core.Activation at 0x1503732b0>,
 <keras.layers.convolutional.Conv2D at 0x1503732e8>,
 <keras.layers.normalization.BatchNormalization at 0x150373320>,
 <keras.layers.core.Activation at 0x1503734a8>,
 <keras.layers.convolutional.Conv2D at 0x1503735c0>,
 <keras.layers.normalization.BatchNormalization at 0x1503735f8>,
 <keras.layers.core.Activation at 0x150373780>,
 <keras.layers.convolutional.Conv2D at 0x150373898>,
 <keras.layers.convolutional.Conv2D at 0x1503738d0>,
 <keras.layers.normalization.BatchNormalization at 0x150373a58>,
 <keras.layers.normalization.BatchNormalization at 0x150373be0>,
 <keras.layers.core.Activation at 0x150373cf8>,
 <keras.layers.core.Activation at 0x150373e10>,
 <keras.layers.merge.Concatenate at 0x150373e48>,
 <keras.layers.convolutional.Conv2D at 0x150373e80>,
 <keras.layers.core.Lambda at 0x15037f080>,
 <keras.layers.core.Activation at 0x15037f0b8>,
 <keras.layers.convolutional.Conv2D at 0x15037f0f0>,
 <keras.layers.normalization.BatchNormalization at 0x15037f128>,
 <keras.layers.core.Activation at 0x15037f2b0>,
 <keras.layers.convolutional.Conv2D at 0x15037f3c8>,
 <keras.layers.normalization.BatchNormalization at 0x15037f400>,
 <keras.layers.core.Activation at 0x15037f588>,
 <keras.layers.convolutional.Conv2D at 0x15037f6a0>,
 <keras.layers.convolutional.Conv2D at 0x15037f6d8>,
 <keras.layers.normalization.BatchNormalization at 0x15037f860>,
 <keras.layers.normalization.BatchNormalization at 0x15037f9e8>,
 <keras.layers.core.Activation at 0x15037fb00>,
 <keras.layers.core.Activation at 0x15037fc18>,
 <keras.layers.merge.Concatenate at 0x15037fc50>,
 <keras.layers.convolutional.Conv2D at 0x15037fc88>,
 <keras.layers.core.Lambda at 0x15037fcc0>,
 <keras.layers.core.Activation at 0x15037fe80>,
 <keras.layers.convolutional.Conv2D at 0x15037feb8>,
 <keras.layers.normalization.BatchNormalization at 0x141c9e0b8>,
 <keras.layers.core.Activation at 0x141c9e1d0>,
 <keras.layers.convolutional.Conv2D at 0x141c9e208>,
 <keras.layers.normalization.BatchNormalization at 0x141c9e390>,
 <keras.layers.core.Activation at 0x141c9e4a8>,
 <keras.layers.convolutional.Conv2D at 0x141c9e4e0>,
 <keras.layers.convolutional.Conv2D at 0x141c9e668>,
 <keras.layers.normalization.BatchNormalization at 0x141c9e7f0>,
 <keras.layers.normalization.BatchNormalization at 0x141c9e908>,
 <keras.layers.core.Activation at 0x141c9ea20>,
 <keras.layers.core.Activation at 0x141c9ea58>,
 <keras.layers.merge.Concatenate at 0x141c9ea90>,
 <keras.layers.convolutional.Conv2D at 0x141c9eac8>,
 <keras.layers.core.Lambda at 0x141c9ec50>,
 <keras.layers.pooling.GlobalAveragePooling2D at 0x141c9ec88>,
 <keras.layers.core.Dropout at 0x141c9ecc0>,
 <keras.layers.core.Dense at 0x141c9ed30>,
 <keras.layers.normalization.BatchNormalization at 0x141c9ed68>

我还有其他方法可以做到这一点吗?我本人对coremltools来说还很陌生,因此我们将不胜感激。是否可以使用add_custom_layers = True和custom_conversion_functions = {})快速实现此自定义层“ keras.core.lambda”?

swift h5py tensorflow2.0 coreml coremltools
1个回答
0
投票

有两种方法可以做到这一点:

  1. 使用现有的Core ML操作从lambda层实现功能。

  2. 为这些lambda图层创建自定义图层。

我写了一篇有关Core ML中的自定义层的博客文章:https://machinethink.net/blog/coreml-custom-layers/

© www.soinside.com 2019 - 2024. All rights reserved.