質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Neural Network Console

Neural Network Consoleは、ソニー社が開発したディープラーニング・ツール。ニューラルネットワークを視覚的に設計することが可能で、学習や評価をスムーズに実現できます。また、ニューラルネットワークを自動的に構築する機能も備わっています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

1回答

3240閲覧

Neural Network Console のセマンティックセグメンテーションでのエラーについて

Kentee

総合スコア0

Neural Network Console

Neural Network Consoleは、ソニー社が開発したディープラーニング・ツール。ニューラルネットワークを視覚的に設計することが可能で、学習や評価をスムーズに実現できます。また、ニューラルネットワークを自動的に構築する機能も備わっています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2021/11/10 01:29

前提・実現したいこと

セマンティックセグメンテーションの初心者です。
今回、Neural Network Console(NNC)でセマンティックセグメンテーションをやろうとしたところ、エラーが出現し、その原因がよくわからないので質問いたしました。

今回のセマンティックセグメンテーションの目的は、写真から緑を抽出するというものです。データセットには、自分がストリートビューから作成した二値画像を用いています。
データセットは、以下のスクリーンショットのように、inputは3,640,640、outputは1,640,640のものとなっています。
イメージ説明

プロジェクトは、サンプルtutorial.semantic_segmentation.binary_semantic_segmentationを用いています。

イメージ説明

データセットに含まれる変数のサイズとInputレイヤーのSizeプロパティで指定されるサイズが異なっている可能性があります。もしくは、隣接しているレイヤーのOutput値とInput値が一致しているかご確認ください。

というエラーが毎回出ます。

エラーメッセージ 2021-11-08 13:59:56,044 [worker]: [INFO]: Network structure auto searching, mutate .sdcproj 2021-11-08 13:59:57,160 [worker]: [INFO]: Download mutate network candidates 2021-11-08 14:00:12,652 [worker]: [INFO]: sdeep_console_cli_util structure_search -i "/home/nnabla/work/mutate/candidates.csv" -o "/home/nnabla/work/data.sdcproj" 2021-11-08 14:00:12,865 [worker]: [INFO]: Created mutate network: /home/nnabla/work/data.sdcproj 2021-11-08 14:00:14,552 [worker]: [INFO]: sdeep_console_cli_util create_result_ini -i "/home/nnabla/work/data.sdcproj" -y "/home/nnabla/empty_monitoring_report.yml" -o "/home/nnabla/work/result.ini" 2021-11-08 14:00:15,753 [worker]: [INFO]: sdeep_console_cli_util create_prototxt -i "/home/nnabla/work/data.sdcproj" -o "/home/nnabla/work/network.prototxt" -p "/home/nnabla/work/param_assign.csv" 2021-11-08 14:00:17,969 [worker]: [INFO]: console_cli train -c /home/nnabla/work/network.prototxt -o /home/nnabla/results -s /home/nnabla/work/data.sdcproj -a /home/nnabla/work/param_assign.csv 2021-11-08 14:00:18,594 [nnabla]: Using context "Context(backend=['cpu:float'], array_class='CpuCachedArray', device_id='')" 2021-11-08 14:00:18,788 [nnabla]: Train with contexts ['cpu'] 2021-11-08 14:00:18,919 [nnabla]: Training epoch 1 of 10 begin 2021-11-08 14:00:18,920 [nnabla]: ctx passed to scheduler doesn't have cuda/cudnn backend. lms scheduler will not be used. 2021-11-08 14:00:18,920 [nnabla]: ctx passed to scheduler doesn't have cuda/cudnn backend. lms scheduler will not be used. 2021-11-08 14:00:19,014 [nnabla]: Shape does not match between data "y" and variable "BinaryCrossEntropy_T" ((8, 3, 640, 640) != (8, 1, 640, 640)). NNabla command line interface (Version:1.21.0.dev1, Build:210825160030, Callback:console.day12.dev) Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/nnabla/utils/cli/cli.py", line 147, in cli_main return_value = args.func(args) File "/usr/local/lib/python3.8/dist-packages/nnabla/utils/cli/train.py", line 705, in train_command result, restart = _train(args, config) File "/usr/local/lib/python3.8/dist-packages/nnabla/utils/cli/train.py", line 505, in _train cost = _update(iteration, config, cost, scheduler) File "/usr/local/lib/python3.8/dist-packages/nnabla/utils/cli/train.py", line 180, in _update let_data_to_variable(v.variable_instance, data[ File "/usr/local/lib/python3.8/dist-packages/nnabla/utils/cli/utility.py", line 122, in let_data_to_variable variable.data.cast(data.dtype)[...] = data ValueError: could not broadcast input array from shape (8,3,640,640) into shape (8,1,640,640) /usr/lib/python3.8/subprocess.py:844: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used self.stdout = io.open(c2pread, 'rb', bufsize) 2021-11-08 14:00:19,208 [worker]: [ERROR]: console_cli command is failed. 2021-11-08 14:00:20,076 [worker]: [INFO]: Network structure auto searching, count 28 done 2021-11-08 14:00:22,502 [worker]: [INFO]: worker done

該当のソースコード

ソースコードは、NNCにサンプルとしてあるtutorial.semantic_segmentation.binary_semantic_segmentation を用いています。
その様子は以下のスクリーンショットの通りです。
イメージ説明

試したこと

Inputのレイヤープロパティで、Sizeを3,640,640に変更したのですが、それでもうまくいきません。

原因究明をお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/11/10 02:31

データセットの「y:out」の画像ファイルがカラーということはありませんか? 画像の見た目に色が見えるかどうかではなく、画像ファイルのフォーマットとして
Kentee

2021/11/10 08:33

画像の色深度は1ビットにすべてなっていました。 画像ごとにばらつきがあるとすれば、属性がAのものとALのものがあったぐらいです。 この属性の違いは関係ありますか?
guest

回答1

0

コードがないので確実ではありませんが、おそらく Input の shape が問題ではないかと思います。

サンプルにある数字の画像は mnist のようなのでデータは (h, w) の形で取得しているはずです。
そのため、ネットワークへ入力する前に恐らく軸を増やして (1, h, w) にしているのではないでしょうか。
今回、質問者様が行おうとしてるのはカラー画像なので、画像を入力した時点で (640[h], 640[w], 3) となっているはずです。しかし、ネットワークへの入力は (3, 640[h], 640[w]) にしなければなりません。
transpose をして軸移動すれば解決するのではないかなと。

投稿2021/11/18 06:24

HRCo4

総合スコア140

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問