knee_oa_classifier / inference.py
Sharan Thakur
Add inference code
282421e
import keras
img_height = 162
img_width = 300
num_classes = 5
# base model for transfer learning
base_model = keras.applications.DenseNet121(
input_shape=(img_height, img_width, 3),
include_top=False,
)
base_model.trainable = False # Freeze the base model
model = keras.models.Sequential(
[
keras.layers.Input((img_height, img_width, 1)),
keras.layers.Lambda(
lambda x: tf.repeat(
x,
3,
axis=3,
)
), # Convert grayscale to RGB
keras.layers.Lambda(keras.applications.densenet.preprocess_input),
base_model,
keras.layers.GlobalAveragePooling2D(),
keras.layers.BatchNormalization(),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dropout(0.5),
keras.layers.Dense(num_classes, activation="softmax"),
]
)
# Load the trained weights
model.load_weights('hf://c2p-cmd/knee_oa_classifier')