セマンティックセグメンテーションの初心者です。
今回、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
inputのレイヤーのサイズを3,640,640に合わせているのですが、上手くいかないので、どうしたらいいかわからず、手詰まっています。
どうすればこのエラーが解決できるのか、ご回答していただければ幸いです。