Numpy para TFrecords: Existe uma maneira mais simples de lidar com entradas em lote de tfrecords?
Minha pergunta é sobre como obter entradas em lote de vários tfrecords (ou sharded). Eu li o exemplohttps://github.com/tensorflow/models/blob/master/inception/inception/image_processing.py#L410. O pipeline básico é, considere o conjunto de treinamento como exemplo, (1) primeiro gere uma série de registros de t (por exemplo,train-000-of-005
, train-001-of-005
, ...), (2) a partir desses nomes de arquivos, gere uma lista e os alimente notf.train.string_input_producer
para obter uma fila, (3) gerar simultaneamente umtf.RandomShuffleQueue
para fazer outras coisas, (4) usandotf.train.batch_join
para gerar entradas em lote.
Eu acho que isso é complexo e não tenho certeza da lógica deste procedimento. No meu caso, eu tenho uma lista de.npy
arquivos e quero gerar tfrecords fragmentados (vários tfrecords separados, não apenas um único arquivo grande). Cada um desses.npy
arquivos contém um número diferente de amostras positivas e negativas (2 classes). Um método básico é gerar um único arquivo tfrecord grande. Mas o arquivo é muito grande (~20Gb
) Por isso, recorro a registros de fragmentos fragmentados. Existe alguma maneira mais simples de fazer isso? Obrigado.