cuốn sách gpt4 ai đã làm

tf.while_loop chỉ xem xét lần lặp cuối cùng

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 14:56:52 25 4
mua khóa gpt4 Nike

Tôi đang sử dụng tf.while_loop để nối động các tensor.

mã số

embeds_raw = tf.constant(np.array([
[1, 1],
[1, 1],
[hai mươi hai],
[3, 3],
[3, 3],
[3, 3]
], dtype='float32'))
nhúng = tf.Variable(initial_value=embeds_raw)
container_variable = tf.zeros([512], dtype=tf.int32, name='container_variable')
sen_len = tf.placeholder('int32', shape=[None], name='sen_len')
# max_l = tf.reduce_max(sen_len)
current_size = tf.shape(sen_len)[0]
độn_sen_len = tf.pad(sen_len, [[0, 512 - current_size]], 'CONSTANT')
đã thêm_container_variable = tf.add(container_variable, độn_sen_len)
u1 = tf.TensorArray(dtype=tf.float32, size=512, clear_after_read=False)
u1 = u1.split(embed, added_container_variable)
res = tf.split(embed, added_container_variable)

i = tf.constant(0, shape=(), dtype='int32', name='i')
x = tf.Variable(tf.constant(0, shape=[2, 2], dtype=tf.float32), dtype=tf.float32)

điều kiện def(_i, _x):
trả về tf.less(_i, current_size)

phần thân xác định (_i, _x):
return _i + 1, tf.concat([x, u1.read(_i)], axis=0)

idx, x = tf.while_loop(
tình trạng,
thân hình,
[tôi,x],
shape_invariants=[tf.TensorShape([]), tf.TensorShape([Không, 2])],
)

với tf.Session() là sess:
sess.run(tf.global_variables_initializer())
đã gửi = sess.run(x, Feed_dict={sen_len: [2, 1, 3]})
in (đã gửi)
in(len(res))

Điều xảy ra là nó kết nối trong mỗi lần lặp nhưng loại bỏ các sửa đổi. Nói cách khác, lần lặp mới không sử dụng kết quả trước đó.

Đây là đầu ra tôi nhận được:

[[ 0. 0.]
[0,0.]
[3.3.]
[3.3.]
[3.3.]]

Và đầu ra tôi muốn là:

[[ 0. 0.]
[0,0.]
[1.1.]
[1.1.]
[ hai mươi hai.]
[3.3.]
[3.3.]
[3.3.]]

câu trả lời hay nhất

Đó là vì dòng này:

return _i + 1, tf.concat([x, u1.read(_i)], axis=0)

Bạn nên thay đổi nó thành:

return _i + 1, tf.concat([_x, u1.read(_i)], axis=0)

Về python - tf.while_loop chỉ xem xét lần lặp cuối cùng, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/45478009/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress