[英]How do I save/export (as .tf or .tflite), run, or test this Tensorflow Convolutional Neural Network (CNN) which It trained as a python file?
[英]How to split a tflite file for cnn network into tflite files for each layer?
我目前正在尝试找到一种方法来在 Android Stuio (java) 上运行时为 CNN 网络的每一层获取中间特性。 实际上,我在下面的链接中找到了一些相关的问题和答案。
从上面的链接,我认为按层划分模型将是解决我的任务的唯一方法。 但是,目前还没有将.tffile 拆分为多个.tffiles 的解决方案。
更准确地说,
如果您能告诉我执行上述任务的确切 python 代码,我将不胜感激。 非常感谢!
下面的代码是我的 android studio java 代码中与这个问题相关的部分。
/** Model loader **/
@SuppressWarnings("deprecation")
private void loadModel() {
try {
//model name
String modelFile = "mobile_face_net.tflite";
tfLite = new Interpreter(loadModelFile(MainActivity.this, modelFile));
} catch (IOException e) {
e.printStackTrace();
}
}
private MappedByteBuffer loadModelFile(AppCompatActivity activity, String MODEL_FILE) throws IOException {
AssetFileDescriptor fileDescriptor = activity.getAssets().openFd(MODEL_FILE);
FileInputStream inputStream = new FileInputStream(fileDescriptor.getFileDescriptor());
FileChannel fileChannel = inputStream.getChannel();
long startOffset = fileDescriptor.getStartOffset();
long declaredLength = fileDescriptor.getDeclaredLength();
return fileChannel.map(FileChannel.MapMode.READ_ONLY, startOffset, declaredLength);
}
tfLite.runForMultipleInputsOutputs(inputArray, outputMap); //Run model
有一种更简单的方法可以逐层输出。 来自 python 的 API 是这个选项
experimental_preserve_all_tensors
interpreter = tf.lite.Interpreter(
model_path="test.tflite",
experimental_preserve_all_tensors=True)
现在你可以在这个解释器上逐层检查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.