Spaces:
Runtime error
Runtime error
import tensorflow as tf | |
import tensorflow_hub as hub | |
from keras.models import load_model | |
from pathlib import Path | |
import numpy as np | |
import config | |
import os | |
FRAME_HT = 224 | |
FRAME_WD = 224 | |
FRAME_NUM = 8 | |
TENSORFLOW_HUB_URL_LABELS = "https://raw.githubusercontent.com/tensorflow/models/f8af2291cced43fc9f1d9b41ddbf772ae7b0d7d2/official/projects/movinet/files/kinetics_600_labels.txt" | |
TENSORFLOW_HUB_URL_MODEL = "https://tfhub.dev/tensorflow/movinet/a2/base/kinetics-600/classification/3" | |
MODEL_PATH = os.path.join(os.getcwd(), 'models', 'Activity_recognition.h5') | |
def get_labels(): | |
labels_path = tf.keras.utils.get_file( | |
fname=os.path.join(os.getcwd(), 'static', 'labels.txt'), | |
origin=config.TENSORFLOW_HUB_URL_LABELS | |
) | |
labels_path = Path(labels_path) | |
lines = labels_path.read_text().splitlines() | |
KINETICS_600_LABELS = np.array([line.strip() for line in lines]) | |
return KINETICS_600_LABELS | |
def get_model(): | |
encoder = hub.KerasLayer(TENSORFLOW_HUB_URL_MODEL, trainable=True) | |
inputs = tf.keras.layers.Input( | |
shape=[FRAME_NUM, FRAME_HT, FRAME_WD, 3], | |
dtype=tf.float32, | |
name='image' | |
) | |
# [batch_size, 600] | |
outputs = encoder(dict(image=inputs)) | |
model = tf.keras.Model(inputs, outputs, name='movinet') | |
return model | |
KINETICS_600_LABELS = get_labels() | |
MODEL = get_model() | |