TensorFlow cung cấp 3 định dạng lưu trữ dữ liệu khác nhau tf.train.Feature
.Họ là:
tf.train.BytesList
tf.train.FloatList
tf.train.Int64List
Tôi thường ở đó tf.train.Int64List
Chọn giữa/tf.train.FloatList
Và tf.train.BytesList
.
Tôi đã thấy một số ví dụ trực tuyến chuyển đổi số nguyên/số float thành byte và sau đó lưu trữ chúng trong tf.train.BytesList
ở giữa. .Điều này có thích hợp hơn việc sử dụng một trong các định dạng khác không? Nếu vậy thì tại sao TensorFlow lại cung cấp tf.train.Int64List
Và tf.train.FloatList
Là một định dạng tùy chọn, bạn có thể chuyển đổi chúng thành byte và sử dụng tf.train.BytesList
?
Cảm ơn.
Bởi vì danh sách byte yêu cầu nhiều bộ nhớ hơn. Nó được thiết kế để lưu trữ dữ liệu chuỗi hoặc ví dụ như một mảng gọn gàng được chuyển đổi thành một chuỗi byte đơn. Hãy xem xét ví dụ:
def int64_feature(giá trị):
nếu loại (giá trị) != danh sách:
giá trị = [giá trị]
trả về tf.train.Feature(int64_list=tf.train.Int64List(value=value))
def float_feature(value):
nếu loại (giá trị) != danh sách:
giá trị = [giá trị]
trả về tf.train.Feature(float_list=tf.train.FloatList(value=value))
def byte_feature(value):
trả về tf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))
nhà văn = tf.python_io.TFRecordWriter('file.tfrecords')
byte = np.array(1.1).tostring()
int = 1
phao=1,1
example = tf.train.Example(features=tf.train.Features(feature={'1': float_feature(float)}))
writer.write(example.SerializeToString())
nhà văn.close()
cho str_rec trong tf.python_io.tf_record_iterator('file.tfrecords'):
ví dụ = tf.train.Example()
example.ParseFromString(str_rec)
str = (example.features.feature['1'].float_list.value[0])
in(getsizeof(str))
cho dtype float
Nó sẽ xuất ra 24 byte, đây là mức tối thiểu. Tuy nhiên, bạn không thể int
传递给 tf.train.FloatList
. trong trường hợp này,int
dtype sẽ chiếm 28 byte, trong khi byte chưa được mã hóa là 41 (trong ứng dụng np.fromstring
trước) và thậm chí nhiều hơn sau đó.
Giới thiệu về python - Khi nào tôi nên sử dụng tf.train.BytesList, tf.train.FloatList và tf.train.Int64List để lưu trữ dữ liệu trong tf.train.Feature? , 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/55201347/
Tôi là một lập trình viên xuất sắc, rất giỏi!