![](/img/trans.png)
[英]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.