Этот код работает с TensorFlow 2.6.0.

2.6.0

Загрузить данные

Образцы данных были загружены с помощью

согласно инструкции, доступной на странице загрузки набора данных YouTube 8M.

Загрузить необработанный набор данных

Импортируйте библиотеки и укажите data_folder.

Список .tfrecord файлов для загрузки.

/home/default/video/train0093.tfrecord
/home/default/video/train3749.tfrecord

Загрузите .tfrecord файлов в необработанный (не проанализированный) набор данных.

Разобрать необработанный набор данных

Согласно набору данных YouTube 8M раздел загрузки, данные уровня видео хранятся в виде буферов протокола примера TensorFlow в следующем текстовом формате:

Создайте функцию для анализа необработанных данных:

Примените функцию разбора к каждому файлу, содержащемуся в raw_dataset:

<MapDataset shapes: {
  id: (1,), 
  labels: (None,), 
  mean_audio: (128,), 
  mean_rgb: (1024,)
}, types: {
  id: tf.string, 
  labels: tf.int64, 
  mean_audio: tf.float32, 
  mean_rgb: tf.float32
}>

Проверить проанализированный набор данных

{
  'id': <tf.Tensor: 
      shape=(1,), 
      dtype=string, 
      numpy=array([b'eXbF'], 
      dtype=object)>, 
  'labels': <tf.Tensor: 
      shape=(2,), 
      dtype=int64, 
      numpy=array([ 0, 12])>, 
  'mean_audio': <tf.Tensor: 
      shape=(128,), 
      dtype=float32, 
      numpy=array([-1.2556146 ,  0.17297305, ...,  0.81667864], dtype=float32)>, 
  'mean_rgb': <tf.Tensor: 
      shape=(1024,), 
      dtype=float32, 
      numpy=array([ 0.5198898 ,  0.30175963, ..., -0.48050806], dtype=float32)>
}