2017-10-27 12 views
0


Android-StudioでTensorFlowグラフを使用したいと思います。
まず、org.tensorflow.contrib.android.TensorFlowInferencefaceをインポートできます。しかし、私はインスタンスを作ることができませんでした。
ここにMainActivity.javaがあります。
Android-StudioでTensorFlowを使用してインスタンスを作成できません

package com.example.maguro.mnist_beginner; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import org.tensorflow.contrib.android.TensorFlowInferenceInterface; 

public class MainActivity extends AppCompatActivity { 

    static{ 
     System.loadLibrary("tensorflow_inference"); 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     TensorFlowInferenceInterface inferenceInterface = new TensorFlowInferenceInterface(); 

    } 
} 

エラーポイントは最後のdiscriptionです。

TensorFlowInferenceInterface inferenceInterface = new TensorFlowInferenceInterface(); 

エラーがTensorFlowInferenceInterface()「コンストラクタを解決できません "と述べ、"
私は2社のホームページを参照のことが、私はこのエラーを受け取った
http://docs.fabo.io/tensorflow/android/run.html
https://qiita.com/[email protected]/items/f2fdd384a5e305462a79

そして、私は編集します。 2ファイル "settings.gradle" & "app/build.gradle"
ここにsettings.gradleがあります。

include ':app',':TensorFlow-Android-Inference' 
findProject(":TensorFlow-Android-Inference").projectDir = new File("/home/maguro/tensorflow/tensorflow/contrib/android/cmake") 

ここにapp/build.gradleがあります。

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 26 
    buildToolsVersion "26.0.2" 
    defaultConfig { 
     applicationId "com.example.maguro.mnist_beginner" 
     minSdkVersion 23 
     targetSdkVersion 26 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    sourceSets{ 
     main{ 
      jniLibs.srcDirs = ['libs'] 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:26.+' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    testCompile 'junit:junit:4.12' 
    debugCompile project(path:':TensorFlow-Android-Inference',configuration:'debug') 
    releaseCompile project(path:':TensorFlow-Android-Inference',configuration:'release') 
} 

------私の環境------
OS:Ubuntuの14.04 LTS
Tensorflow:python3.6
アンドロイド-StudioのGPUに使用アナコンダ:2.3.3
CUDAツールキット:8.0
cuDNN:6.0

私は英語をうまく使用することはできません。
私が何か失礼なことを言ったら、すみません。
私に手を貸してください。

+0

あなたのプロジェクトにlibtensorflow_inference.soがありますか? –

+0

はい、app/src/main/assets/libtensorflow_inference.soのディレクトリを作成しました。 – maguro

+0

申し訳ありませんが、私は前のコメントを逃しました。私はapp/libs/libandroid_tensorflow_inference.java.jarとapp/libs/arm64-v8a/libtensorflow_inference.soを持つディレクトリを作った。 – maguro

答えて

0

エラーメッセージに示されているように、引数をとらないTensorFlowInferenceInterfaceのコンストラクタはありません。あなたがそれらのいずれかを使用する必要があるだろう、だから、

  • TensorFlowInferenceInterface(AssetManager assetManager, String model)
  • TensorFlowInferenceInterface(InputStream is)
  • TensorFlowInferenceInterface(Graph g)

the source fileから

は、私は3つのコンストラクタを参照してください。

希望に役立ちます。

+0

ありがとうございます!しかし今、私は実験用PCを持っていません。明日、私はそれを試みます。 – maguro

+0

3つのコンストラクタを追加した後、Android-Studioでエラーが表示されませんでした。私に教えてくれてありがとう!:) – maguro

+0

すみません。質問を解決した後、私は何をしますか(たとえば、チェックマークをクリックして評価する)。申し訳ありません、教えてください。 – maguro

関連する問題