1、导入相应的库
3D CNN 使用三维滤波器来执行卷积。内核能够在三个方向上滑动,而在 2D CNN 中它可以在二维上滑动。
首先安装并导入必要的库,用于处理ZIP文件内容的Remotezip 、用于使用进度条的tqdm 、用于处理视频文件的OpenCV 、用于执行更复杂的张量操作的einops,以及用于在 Jupyter Notebook 中嵌入数据的库。
import tqdm
import random
import pathlib
import itertools
import collectionsimport cv2
import einops
import numpy as np
import remotezip as rz
import seaborn as sns
import matplotlib.pyplot as pltimport tensorflow as tf
import keras
from keras import layers
2、加载和预处理视频数据
定义了辅助函数,用于从 UCF-101 数据集中下载数据片段,并将其加载到tf.data.Dataset。如果要处理自己的数据集,可以阅读并参考。
def list_files_per_class(zip_url):"""列出给定 zip URL 的数据集每个类中的文件。A