Instructions to use PredictiveManish/wall-crack-detection with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Keras
How to use PredictiveManish/wall-crack-detection with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://PredictiveManish/wall-crack-detection") - Notebooks
- Google Colab
- Kaggle
| import tensorflow as tf | |
| from tensorflow.keras.preprocessing.image import ImageDataGenerator | |
| from tensorflow.keras.applications import MobileNetV2 | |
| from tensorflow.keras.layers import Dense, GlobalAveragePooling2D | |
| import os | |
| from tensorflow.keras.models import Model | |
| base_path = os.path.expanduser("~/Downloads/chirag-project/concrete_data") | |
| train_dir = os.path.join(base_path, "train") | |
| val_dir = os.path.join(base_path, "val") | |
| # Data generators | |
| datagen = ImageDataGenerator(rescale=1./255) | |
| train_gen = datagen.flow_from_directory( | |
| train_dir, | |
| target_size=(224, 224), | |
| batch_size=32, | |
| class_mode="binary" | |
| ) | |
| val_gen = datagen.flow_from_directory( | |
| val_dir, | |
| target_size=(224, 224), | |
| batch_size=32, | |
| class_mode="binary" | |
| ) | |
| # Base model | |
| base_model = MobileNetV2(weights="imagenet", include_top=False, input_shape=(224,224,3)) | |
| x = base_model.output | |
| x = GlobalAveragePooling2D()(x) | |
| preds = Dense(1, activation="sigmoid")(x) | |
| model = Model(inputs=base_model.input, outputs=preds) | |
| # Freeze base layers for transfer learning | |
| for layer in base_model.layers: | |
| layer.trainable = False | |
| model.compile(optimizer="adam", loss="binary_crossentropy", metrics=["accuracy"]) | |
| # Train | |
| model.fit(train_gen, validation_data=val_gen, epochs=5) | |
| # Save model in repo | |
| model_save_path = os.path.expanduser("~/Downloads/crack_detector.h5") | |
| model.save(model_save_path) | |
| print(f"Model saved as {model_save_path}") |