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

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

新規登録して質問してみよう
ただいま回答率
85.50%
深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1119閲覧

Error: Cannot feed value of shape (1, 864, 640, 4) for Tensor 'Placeholder:0', which has shape '(1,

退会済みユーザー

退会済みユーザー

総合スコア0

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/11/25 04:24

こちらのサイトのプログラムを実行したところ以下のようなエラーがでました。

error

1Error: Cannot feed value of shape (1, 864, 640, 4) for Tensor 'Placeholder:0', which has shape '(1, 864, 640, 3)'

このエラーで検索をかけても、こちらのサイトが参考になると思ったのですが、他の画像では問題なく実行できるので、なぜ使用した画像だけこのエラーが起こるのかわかりません。
原因とプログラムをどのように直せばいいのか教えていただきたいです。

main

1# -*- coding: utf-8 -*- 2 3import os, sys 4import tensorflow as tf 5import tensorlayer as tl 6import numpy as np 7import network, img_io 8 9eps = 1e-5 10 11FLAGS = tf.flags.FLAGS 12tf.flags.DEFINE_integer("width", "1024", "Reconstruction image width") 13tf.flags.DEFINE_integer("height", "768", "Reconstruction image height") 14tf.flags.DEFINE_string("im_dir", "data", "Path to image directory or an individual image") 15tf.flags.DEFINE_string("out_dir", "out", "Path to output directory") 16tf.flags.DEFINE_string("params", "hdrcnn_params.npz", "Path to trained CNN weights") 17tf.flags.DEFINE_float("scaling", "1.0", "Pre-scaling, which is followed by clipping, in order to remove compression artifacts close to highlights") 18tf.flags.DEFINE_float("gamma", "1.0", "Gamma/exponential curve applied before, and inverted after, prediction. This can be used to control the boost of reconstructed pixels.") 19 20sx = int(np.maximum(32, np.round(FLAGS.width/32.0)*32)) 21sy = int(np.maximum(32, np.round(FLAGS.height/32.0)*32)) 22if sx != FLAGS.width or sy != FLAGS.height: 23 print_("Warning: ", 'w', True) 24 print_("予測サイズが %dx%d ピクセルから %dx%d に変更されました.\n"%(FLAGS.width, FLAGS.height, sx, sy), 'w') 25 print_("ピクセル、オートエンコーダのプーリングとアップサンプリングに準拠します。\n\n", 'w') 26 27# シングルフレーム 28frames = [FLAGS.im_dir] 29 30if os.path.isdir(FLAGS.im_dir): 31 frames = [os.path.join(FLAGS.im_dir, name) 32 for name in sorted(os.listdir(FLAGS.im_dir)) 33 if os.path.isfile(os.path.join(FLAGS.im_dir, name))] 34 35x = tf.placeholder(tf.float32, shape=[1, sy, sx, 3]) 36 37#HDR再構成オートエンコーダモデル 38print_("Network setup:\n") 39net = network.model(x) #network.pyのmodelにxを入れる 40 41#CNN予測(これには入力画像xとのブレンドも含まれます) 42y = network.get_final(net, x) #network.pyのget_finalにnetとxを入れる 43sess = tf.InteractiveSession() 44 45#トレーニング済みのCNNの重みをロードする 46print_("\n'%s'からトレーニングされたパラメータを読み込む..."%FLAGS.params) 47load_params = tl.files.load_npz(name=FLAGS.params) 48tl.files.assign_params(sess, load_params, net) 49print_("\t完了\n") 50 51#outディレクトリがない場合作成 52if not os.path.exists(FLAGS.out_dir): 53 os.makedirs(FLAGS.out_dir) 54 55 56print_("\n開始時の予測...\n\n") 57k = 9 #元の値は0, 今10 ・・・outの画像-1が今 58 59for i in range(len(frames)): 60 print("Frame %d: '%s'"%(i,frames[i])) 61 62 print_("\t読み込み...") 63 x_buffer = img_io.readLDR(frames[i], (sy,sx), True, FLAGS.scaling) 64 print_("\t完了") 65 #飽和(Saturation) 66 print_("\t(飽和: %0.2f%%)\n" % (100.0*(x_buffer>=1).sum()/x_buffer.size), 'm') 67 68 # 実行予測 69 print_("\t 推 論 ...") 70 feed_dict = {x: np.power(np.maximum(x_buffer, 0.0), 1.0/FLAGS.gamma)} 71 y_predict = sess.run([y], feed_dict=feed_dict) 72 y_predict = np.power(np.maximum(y_predict, 0.0), FLAGS.gamma) 73 print_("\t完了\n") 74 75 # ガンマ補正出力 76 y_gamma = np.power(np.maximum(y_predict, 0.0), 0.5) 77 78 # ディスクへの書き込み 79 print_("\t書き込み...") 80 k += 1; 81 img_io.writeLDR(x_buffer, '%s/%06d_in.png' % (FLAGS.out_dir, k), -3) 82 img_io.writeLDR(y_gamma, '%s/%06d_out.png' % (FLAGS.out_dir, k), -3) 83 img_io.writeEXR(y_predict, '%s/%06d_out.exr' % (FLAGS.out_dir, k)) 84 print_("\t完了\n") 85 86 except img_io.IOException as e: 87 print_("\n\t\tWarning! ", 'w', True) 88 print_("%s\n"%e, 'w') 89 except Exception as e: 90 print_("\n\t\tError: ", 'e', True) 91 print_("%s\n"%e, 'e') 92 93print_("終了!\n") 94sess.close()

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

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

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

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

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

1T2R3M4

2021/11/25 04:27

原因はErrorメッセージに書いてある通りなのではないでしょうか。 読んでいないのでしょうか。
退会済みユーザー

退会済みユーザー

2021/11/25 04:46

.exrの画像を.pngに変換しても カラーチャンネルが4つ存在すると言うことですか?
1T2R3M4

2021/11/25 04:52

実行環境があなたの手元にあるんだから確認済みだとは思いますが どうなっているか再確認してみては。
退会済みユーザー

退会済みユーザー

2021/11/25 04:59

$ sips -g all Desk.png pixelWidth: 644 pixelHeight: 874 typeIdentifier: public.png format: png formatOptions: default dpiWidth: 72.000 dpiHeight: 72.000 samplesPerPixel: 4 bitsPerSample: 16 hasAlpha: yes space: RGB profile: Display P3 となっているのですが、 samplesPerPixel が、何チャンネルあるかと言うことですか? bitsPerSample: が、1チャンネル何ビットということでしょうか? このサイトをみても、自信がないので 教えていただきたいです。 https://jprogramer.com/libtiffcate/3211
guest

回答1

0

ベストアンサー

  • なぜ使用した画像だけこのエラーが起こるのかわかりません。

EXR形式は一画素何ビットですか?でのやり取りから考えると、アルファチャネル付のHDR画像が混ざっていて、その画像だけエラーになるのでしょう。

投稿2021/11/25 08:21

ppaul

総合スコア24666

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

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

退会済みユーザー

退会済みユーザー

2021/11/25 08:23

ありがとうございます。 ppaul様とのやりとりで自分でも調べたのですが、その通りでアルファチャンネルがpngにもついていたためでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問