Произошло исключение: InvalidArgumentError Вы должны ввести значение для тензора-заполнителя ‘Placeholder’ с помощью dtype string и shape [1]

#python #tensorflow2.0 #placeholder

#python #tensorflow2.0 #плейсхолдер

Вопрос:

Я просто пишу те части своего кода, в которых я получаю ошибку, которую я упоминаю для заполнителя. Я комментирую ниже перед кодом, в котором я получаю эту ошибку

 # Read the shape information and compressed string from the binary file. 
string_ll= tf.placeholder(tf.string, [1])
string_lh= tf.placeholder(tf.string, [1])
string_hl= tf.placeholder(tf.string, [1])
string_hh= tf.placeholder(tf.string, [1])

x_ll_shape = tf.placeholder(tf.int32, [2])
x_lh_shape = tf.placeholder(tf.int32, [2])
x_hl_shape = tf.placeholder(tf.int32, [2])
x_hh_shape = tf.placeholder(tf.int32, [2])

y_ll_shape = tf.placeholder(tf.int32, [2])
y_lh_shape = tf.placeholder(tf.int32, [2])
y_hl_shape = tf.placeholder(tf.int32, [2])
y_hh_shape = tf.placeholder(tf.int32, [2])

with open((args.input_file 'll'), "rb") as f:
 packed_ll = tfc.PackedTensors(f.read())
with open((args.input_file 'lh'), "rb") as f:
 packed_lh = tfc.PackedTensors(f.read())
with open((args.input_file 'hl'), "rb") as f:
 packed_hl = tfc.PackedTensors(f.read())
with open((args.input_file 'hh'), "rb") as f:
packed_hh = tfc.PackedTensors(f.read()) 

tensors_ll = [string_ll,x_ll_shape, y_ll_shape]
tensors_lh = [string_lh,x_lh_shape, y_lh_shape]
tensors_hl = [string_hl,x_hl_shape, y_hl_shape]
tensors_hh = [string_hh,x_hh_shape, y_hh_shape]

arrays_ll = packed_ll.unpack(tensors_ll)
arrays_lh = packed_lh.unpack(tensors_lh)
arrays_hl = packed_hl.unpack(tensors_hl)
arrays_hh = packed_hh.unpack(tensors_hh)

# Instantiate model.
prediction=Prediction(args.num_filters)
encoder = Encoder(args.num_filters)
decoder = Decoder(args.num_filters)
entropy_bottleneck = tfc.EntropyBottleneck(dtype=tf.float32)

y_ll_shape=tf.concat([y_ll_shape,[args.num_filters]],axis=0)
y_lh_shape=tf.concat([y_lh_shape,[args.num_filters]],axis=0)
y_hl_shape=tf.concat([y_hl_shape,[args.num_filters]],axis=0)
y_hh_shape=tf.concat([y_hh_shape,[args.num_filters]],axis=0)

y_ll_hat = entropy_bottleneck.decompress(string_ll,y_ll_shape,channels=args.num_filters)
y_lh_hat = entropy_bottleneck.decompress(string_lh,y_lh_shape,channels=args.num_filters)
y_hl_hat = entropy_bottleneck.decompress(string_hl,y_hl_shape,channels=args.num_filters)
y_hh_hat = entropy_bottleneck.decompress(string_hh,y_hh_shape,channels=args.num_filters)

x_ll_hat = decoder(y_ll_hat)
x_lh_hat = decoder(y_lh_hat)
x_hl_hat = decoder(y_hl_hat)
x_hh_hat = decoder(y_hh_hat)

p_ff_hat=prediction(x_ll_hat)

x_lh_hat= x_lh_hat p_ff_hat #here when i do the operation without add of p_ff_hat variable      
x_hl_hat= x_hl_hat p_ff_hat #it look fine but in addition of the variable these line of code 
x_hh_hat= x_hh_hat p_ff_hat  #execute but the error i got in last session. i mention 

# Remove batch dimension, and crop away any extraneous padding on the bottom
x_ll_hat = x_ll_hat[0, :x_ll_shape[0], :x_ll_shape[1], :]
x_lh_hat = x_lh_hat[0, :x_lh_shape[0], :x_lh_shape[1], :]
x_hl_hat = x_hl_hat[0, :x_hl_shape[0], :x_hl_shape[1], :]
x_hh_hat = x_hh_hat[0, :x_hh_shape[0], :x_hh_shape[1], :]
 

op_ll = write_png(args.output_file 'll', x_ll_hat)
op_lh = write_png(args.output_file 'lh', x_lh_hat)
op_hl = write_png(args.output_file 'hl', x_hl_hat)
op_hh = write_png(args.output_file 'hh', x_hh_hat)

# Load the latest model checkpoint, and perform the above actions.
with tf.Session() as sess:
   latest = tf.train.latest_checkpoint(checkpoint_dir=args.checkpoint_dir)
   tf.train.Saver().restore(sess, save_path=latest)

   sess.run(op_ll, feed_dict=dict(zip(tensors_ll, arrays_ll)))

   sess.run(op_lh, feed_dict=dict(zip(tensors_lh, arrays_lh))) #here I got the error
   sess.run(op_hl, feed_dict=dict(zip(tensors_hl, arrays_hl)))
   sess.run(op_hh, feed_dict=dict(zip(tensors_hh, arrays_hh)))
  

Ошибка, которую я получаю, заключается в следующем:
Я застрял здесь, так как через две недели ваша помощь будет действительно оценена и много для меня значит. Спасибо

найдено 2 корневых ошибки.
(0) Недопустимый аргумент: вы должны ввести значение для тензора-заполнителя ‘Placeholder’ с помощью строки dtype и формы [1][[Заполнитель узла (определен в home/image902/Desktop/compression-master/models/wavelet.py:783) ]]]
(1) Недопустимый аргумент: Вы должны ввести значение для тензора-заполнителя ‘Placeholder’ с помощью строки dtype и формы [1] [[Заполнитель узла (определен в home/image902/Desktop/compression-master/models/wavelet.py:783) ]] [[entropy_bottleneck_1/распаковка/TensorArray_1/_217]]
0 успешных операций.
0 производных ошибок игнорируется.

Исходная трассировка стека для ‘Placeholder’:
File «usr/lib/python3.6/runpy.py «, строка 193, в файле _run_module_as_main «main«, mod_spec)
«usr/lib/python3.6/runpy.py «, строка 85, в файле _run_code
exec(code, run_globals)
«home/image902/.vscode/extensions/ms-python.python 2020.9.114305/pythonFiles/lib/python/debugpy/main.py «, строка45, в
файле cli.main()
«home/image902/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/lib/python/debugpy/../debugpy/server/cli.py» , строка 430, в основном
файле run()
«home/image902/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/lib/python/debugpy/../debugpy/server/cli.py» , строка 267, в файле run_file
runpy.run_path(options.target,run_name=compat.force_str(«main«))
File «usr/lib/python3.6/runpy.py «, строка 263, в файле run_path pkg_name=pkg_name, script_name=fname)
«usr/lib/python3.6/runpy.py «, строка 96, в файле _run_module_code mod_name, mod_spec, pkg_name, script_name)
«usr/lib/python3.6/runpy.py «, строка 85, в файле _run_code
exec(code, run_globals)
«home/image902/Desktop/compression-master/models/wavelet.py «, строка 1046,в
основном файле (args)
«home/image902/Desktop/compression-master/models/wavelet.py «, строка 991, в основном
распаковать (args)
файл «home/image902/Desktop/compression-master/models/wavelet.py «, строка 783, в распаковке

Комментарии:

1. Было бы лучше, если бы вы описали свой код более подробно, имена переменных действительно сбивают с толку, кажется, что тензор op_lh имеет неправильный тип, но почему я могу только догадываться, вы должны проверить, write_png выполняется ли он должным образом

2. Я предоставляю весь свой код. здесь каждый шаг я повторяю только для четырех частотного поддиапазона вейвлет-преобразования. вот почему код кажется немного запутанным.