Tensorflow android演示。如何重新训练?

时间:2017-05-01 17:48:46

标签: android tensorflow

我正在尝试使用android TensorFlow演示TF分类应用程序代码来更改训练数据。我想使用两朵花,就像在这个演示中一样:https://medium.com/@daj/creating-an-image-classifier-on-android-using-tensorflow-part-3-215d61cb5fcd

问题是根据教程我跟随它说应该有一个资产文件夹生成,我可以把我的训练数据放在那里,然后重新构建。 但是当我构建了tensorflow android演示时,没有在bazel-bin或android src文件夹中创建的资源文件夹。我也搜索资产文件夹,没有。 我正在使用文章中概述的docker容器。

1 个答案:

答案 0 :(得分:1)

您必须自己创建资源文件夹。

如果您使用的是Android Studio,请从

中选择菜单

档案 - >新... - >文件夹 - >资产文件夹,然后将文件粘贴到该文件夹​​。

仅供参考,您还必须创建libs文件夹(在项目级别)和jniLibs文件夹。

<强>更新

将这些图形文件(.pb)和标签文件(.txt)放入该Assets文件夹后,您必须从代码中指定并加载它们。

例如,假设您的图形文件名是&#34; my_graph.pb&#34;和标签文件是

&#34; my_labels.txt&#34;,然后将它们指定为:

private static final String MODEL_FILE = "file:///android_asset/my_graph.pb";
private static final String LABEL_FILE ="file:///android_asset/my_labels.txt";

并且您可以在初始化时加载它们:

           classifier = TensorFlowImageClassifier.create(
                    getAssets(),
                    MODEL_FILE,
                    LABEL_FILE,
                    IMAGE_SIZE,
                    IMAGE_MEAN,
                    IMAGE_STD,
                    INPUT_NAME,
                    OUTPUT_NAME);
        } catch (final Exception e) {
            throw new RuntimeException("Error initializing TensorFlow!", e);
        }

当然,在初始化之前,不要忘记用适当的值定义其他常量(IMAGE_SIZE,IMAGE_MEAN等)。

更新2 仅供参考,这是android studio中示例项目的应用程序结构: enter image description here