#python #list #reshape #tensor
Вопрос:
У меня есть акт[‘а»] факела.Размер([1, 64, 32, 32]) и действуйте[‘b’] факела.Размер([1, 128, 16, 16]) и действуйте[‘с’] факела.Размер([1, 256, 8, 8]). и у меня есть:
target = {'a': [], 'b': [], 'c': []}
for i in range(800):
target['a'].append(act['a'])
target['b'].append(act['b'])
target['c'].append(act['c'])
итак, теперь размер цели[‘a’] равен [800, 1, 64, 32, 32]. как я могу изменить его, чтобы [1, 64, 800, 32, 32]?
Я пытался
tf.reshape(target['a'], [1, 64, 800,32,32])
и это дает мне эту ошибку, из-за которой я сделал снимок экрана:
Ответ №1:
Это то, чего ты ожидаешь?
a = tf.zeros([1, 64, 32, 32])
target = {'a': [a] * 800}
m = tf.convert_to_tensor(target['a'])
n = tf.reshape(m, [1, 64, 800, 32, 32])
>>> m.shape
TensorShape([800, 1, 64, 32, 32])
>>> n.shape
TensorShape([1, 64, 800, 32, 32])
Комментарии:
1. Я написал: цель.изменить форму([3, 1, 64, 800, 32, 32]) и это дает мне такую ошибку: объект «дикт» не имеет атрибута «изменить форму». как вы можете видеть в моем коде, цель-это дикт
2. Забудь, что я писал раньше, я не понимал
3. цель [«а»] — это список. как я могу его изменить?
4. @Призрак. Я обновил свой ответ. Я думаю, что должен работать на тебя.
5. Спасибо, что уделили мне время