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

python - Tensorflow - lô dữ liệu tiếp theo từ tf.train.shuffle_batch

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

我有一个 tfrecords tệp mà tôi muốn tạo dữ liệu hàng loạt. Tôi đang sử dụng tf.train.shuffle_batch() để tạo một lô. Trong quá trình đào tạo của mình, tôi muốn gọi các đợt và chuyển chúng. Đây là nơi tôi bị mắc kẹt. Tôi đã đọc,TFRecordReader() Vị trí được lưu ở trạng thái của biểu đồ và ví dụ tiếp theo được đọc từ vị trí tiếp theo. Vấn đề là tôi không biết cách tải đợt tiếp theo. Tôi sử dụng mã bên dưới để tạo lô.

def read_and_decode_single_example(tên tệp):
tên tệp_queue = tf.train.string_input_producer([tên tệp], num_epochs=1)
reader = tf.TFRecordReader()
_, serialized_example = reader.read(filename_queue)
tính năng = tf.parse_single_example(
serialized_example,
tính năng={
'ngữ cảnh': tf.FixedLenFeature([160], tf.int64),
'context_len': tf.FixedLenFeature([1], tf.int64),
'lời nói': tf.FixedLenFeature([160], tf.int64),
'utterance_len': tf.FixedLenFeature([1], tf.int64),
'nhãn': tf.FixedLenFeature([1], tf.int64)
})

bối cảnh = tính năng['bối cảnh']
context_lens = tính năng['context_len']
cách nói = tính năng['lời nói']
cách nói_lens = tính năng['utterance_len']
nhãn = tính năng['nhãn']

trả về ngữ cảnh, context_lens, cách nói, cách nói_lens, nhãn

ngữ cảnh, context_lens, cách nói, cách nói_lens, nhãn = \
read_and_decode_single_example('data/train.tfrecords')

bối cảnh_batch, bối cảnh_lens_batch, \
cách nói_batch, cách nói_lens_batch, \
nhãn_batch = tf.train.shuffle_batch([ngữ cảnh, bối cảnh_lens, cách nói,
cách nói_lens, nhãn],
batch_size=kích thước lô,
dung lượng=3*bat_size,
min_after_dequeue=batch_size)

Điều này mang lại cho tôi một loạt dữ liệu. Tôi muốn sử dụng mô hình Feed_dict để vượt qua các đợt đào tạo, trong đó một đợt mới được chuyển qua mỗi lần lặp. Làm thế nào để tải các lô này? gọi đọc_và_giải mãtf.train.shuffle_batch Đợt tiếp theo có được gọi lại không?

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

read_and_decode_single_example() Hàm tạo biểu đồ (phụ) cho mạng được sử dụng để tải dữ liệu; bạn chỉ gọi nó một lần. nó có thể được gọi thích hợp hơn build_read_and_decode_single_example_graph(), nhưng hơi dài.

"Điều kỳ diệu" nằm ở nhiều đánh giá (tức là sử dụng_đợt Tenor chẳng hạn

batch_size = 100
# ...

với tf.Session() là sess:
#nhận lô 100 giá trị đầu tiên
first_batch = sess.run([contexts_batch, context_lens_batch,
cách nói_batch, cách nói_lens_batch,
nhãn_batch])

# lô thứ hai gồm 100 giá trị khác nhau
giây_batch = sess.run([contexts_batch, context_lens_batch,
cách nói_batch, cách nói_lens_batch,
nhãn_batch])
# vân vân.

Tất nhiên, thay vì nhận các giá trị này từ phiên theo cách thủ công, bạn có thể cung cấp chúng cho các phần khác của mạng. Cơ chế này giống nhau: bất cứ khi nào bạn nhận được một trong các tensor này một cách trực tiếp hoặc gián tiếp, cơ chế tạo khối sẽ chịu trách nhiệm cung cấp cho bạn một lô mới (có giá trị khác nhau) mỗi lần.

Về python - Tensorflow - lô dữ liệu tiếp theo từ tf.train.shuffle_batch, 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/41978221/

26 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