2017-02-13 16 views
3

私はtensorflowを初めて使い、複数のネットワーク出力を持つマルチラベル分類のチュートリアルや例があるかどうかを知りたいと思っています。テンソルフローによるマルチラベル分類の実行方法は?

私はイメージのコレクションを持っているので、これはそれぞれのイメージが複数のクラスに属し、出力には各クラスのスコアが必要であるため、これを求めています。

テンソルフローがイメージとクラスのファイルパターンに従っているかどうかもわかりません。だれかがいくつかの例を持っていると、たくさんのことが容易になります。

ありがとうございます。

答えて

1

最も純粋な(そして合理的な)アプローチは、分類ネットワークを訓練し、softmax層を除去し、それをシグモイドのベクトルで置き換えることであろう。このようにして、活性化1の複数のユニットを持つことができます。

分類ネットワークの例はon TF-slimです。 datasetsには、イメージとクラスの "ファイルパターン"の準備方法の例が掲載されています

2

Label Powersetアプローチを使用して、複数ラベルから複数クラスに分類することもできます。 Label Powerset変換は、トレーニングセットにアトリストされたすべてのラベルの組み合わせを別のクラスとして扱い、複数クラスのクラスターの1つのインスタンスを作成し、割り当てられたクラスをマルチラベルのケースに変換します。 scikit-multilearnおよびテンソルフロー推定器の上のscikit互換ラッパー、またはinput_fnまたはskflowを使用して提供されます。次に、LabelPowersetのインスタンスに接続します。

と行くことができるコードは次のとおりです。答えを

from skmultilearn.problem_transform import LabelPowerset 
import tensorflow.contrib.learn as skflow 

# assume data is loaded using 
# and is available in X_train/X_test, y_train/y_test 

# initialize LabelPowerset multi-label classifier 
# with tensor flow DNN base classifier 
classifier = LabelPowerset(skflow.TensorFlowDNNClassifier(OPTIONS)) 

# train 
classifier.fit(X_train, y_train) 

# predict 
predictions = classifier.predict(X_test) 
+0

感謝を!私が失っているのは、イメージをクラスに関連付ける方法です。テンソルフローのドキュメンテーションでは、サンプルタイプは見つかりませんでした。私のイメージをクラスに関連付ける方法を知っていますか?私の場合、私はそれはようなものになるだろうと思うだろう: Image1のclass1に 画像1のクラス2ように 画像2のclass5 画像2 class1に 画像3クラス4 そして.. –

関連する問題