Java 如何使用TensorFlowEnferenceInterface在android studio中为输入节点(这是一个句子)提供反馈

Java 如何使用TensorFlowEnferenceInterface在android studio中为输入节点(这是一个句子)提供反馈,java,android-studio,tensorflow,lstm,recurrent-neural-network,Java,Android Studio,Tensorflow,Lstm,Recurrent Neural Network,如果我的问题不清楚,请让我知道,我在这个领域很新 我做了以下工作: 我冻结并优化了tensorflow模型 这是一个RNN lstm模型,得到一个句子,然后说是肯定的还是否定的 我成功地在android studio中添加了所有内容 现在我有一个编辑框来输入我的句子,然后点击Run按钮,如果这个句子是肯定的或否定的,这个Run按钮应该填充标签 请给我一些说明,如果有一个预定义的函数我应该使用, 或者我自己写下来,如果是这样的话,怎么写 提前谢谢你的帮助 更新 这是我尝试过的,但似乎不正确: pr

如果我的问题不清楚,请让我知道,我在这个领域很新

我做了以下工作:

  • 我冻结并优化了tensorflow模型
  • 这是一个RNN lstm模型,得到一个句子,然后说是肯定的还是否定的
  • 我成功地在android studio中添加了所有内容
  • 现在我有一个编辑框来输入我的句子,然后点击Run按钮,如果这个句子是肯定的或否定的,这个Run按钮应该填充标签
  • 请给我一些说明,如果有一个预定义的函数我应该使用, 或者我自己写下来,如果是这样的话,怎么写

    提前谢谢你的帮助

    更新

    这是我尝试过的,但似乎不正确:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        inferenceInterface = new TensorFlowInferenceInterface();
        inferenceInterface.initializeTensorFlow(getAssets(), MODEL_FILE);
    
    
        final Button button = (Button) findViewById(R.id.button);
    
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
    
                final EditText editNum1 = (EditText) findViewById(R.id.editNum1);
    
                inferenceInterface.fillNodeInt(INPUT_NODE, INPUT_SIZE, editNum1);
    
                inferenceInterface.runInference(new String[] {OUTPUT_NODE});
    
                int[] resu = {0, 0};
                inferenceInterface.readNodeInt(OUTPUT_NODE, resu);
    
                final TextView textViewR = (TextView) findViewById(R.id.txtViewResult);
                textViewR.setText(Float.toString(resu[0]) + ", " + Float.toString(resu[1]));
            }
        });
    }
    
    Edit2

    TensorFlowEnferenceInterface中有FillNodeInt, 我的想法是,它将把我在editbox中的输入绑定到我模型中的输入节点

    所以第一个参数是输入节点,第二个是大小,第三个应该是输入,例如我在文本框中填充

    但是没有第三个参数作为字符串的函数, 它们是int、float或byte(比如上面的例子是int),或者类似于buffer的东西
    有人能解释一下我可以使用哪种方法吗?

    您的RNN模型是否将原始字符串作为输入?(换句话说,输入节点的TensorFlow数据类型是什么?)。输入节点的形状是什么(是单个字符串还是一批字符串)?关于如何馈送的建议将取决于这些问题的答案(顺便说一句,您似乎使用的是旧版本的TensorFlowEnferenceInterface API,头部不再有
    fillNodeInt
    readNodeInt
    ,只需
    feed
    fetch
    )谢谢@ash的评论,事实上,我的模型是这样的,你能看一下吗,实际上我现在可以告诉你细节了,但第一页有一个很好的细节,自述,也需要1分钟看看,如果你不舒服,我可以在这里回答。很难确定你到底在做什么查看整个github存储库,最好在问题中添加相关信息。假设您正在尝试执行链接存储库中的
    predict.py
    正在执行的操作,那么那里的
    input
    节点似乎需要一个int32张量,而不是字符串(
    print input.dtype
    添加到
    predict.py
    )。因此,如果您正在这样做,看起来不需要为stringsIt提供数据,它似乎正在使用一个精选的词汇表文件()