2016-11-18 4 views
0

Caffeや他の多くのスタックオーバーフローの投稿やGoogleグループのSiamese Network MNISTの例を試してみましたが、情報は常に不完全です。私がしようとしているのは、siameseネットワークに2つのRGB画像を供給して類似性を計算することだけです。Siamese Network with RGB images

2つのRGBイメージを1つに連結し、leveldbに変換し、 "mnist_siamese_train_test.prototxt"のスライスレイヤーを "slice_point:3"に編集しました。私が今理解していることは、問題はチャネルにあるということです。どのように私はこの問題を解決するか、私はhaventどのようにこれを行うか、または私のケースに合う私に教えるために有用なリソースを発見した。もしleveldbの代わりにネットワークディレクトリとリストを供給し、画像を連結する別の方法があるのならば教えてください。それ以上の説明が必要なものがあればお知らせください。

+0

チャンネルにはどのような問題がありますか?あなたはここで正しいことをしているようです。 **正確に**問題は何ですか? – Shai

+0

ところで、シャムのアプローチを使うのではなく、[Wexler et al](https://arxiv.org/abs/1605.07270)の「minibatch loss」appraochを考えましたか? – Shai

答えて

0

あなたが短い中で、this threadに詳細に答えを見つけることができ、次の2つのオプションがあります:

  1. をあなたが質問で指摘したように、あなたがlmdbで作成したブロブをスライスするスライス層を使用して、あなたslice_point:3と6つの "channel"イメージ(各イメージに対して3つ)を持っていれば、それぞれ3つのチャネルを持つ2つのイメージに分割する必要があります。
  2. それぞれ異なるファイルを持つ2つの異なるInputDataLayersを使用すると、スレッド内の実例を見ることができます。

ここで指摘したように、正しいことをしているように見えますが、ここでエラーと.prototxtファイルをコピーして貼り付けることはできますか? スライスしている次元が正しいことも確認してください