models-moved / prediction_example.py
dthh's picture
Upload prediction_example.py with huggingface_hub
f000f4b verified
import os
from pathlib import Path
from PIL import Image
import logging
import Models
config = {
"model_root": "models",
"hf_model_repo": "SurfaceAI/models",
"models": {
"surface_type": "v1/surface_type_v1.pt",
"surface_quality": {
"asphalt": "v1/surface_quality_asphalt_v1.pt",
"concrete": "v1/surface_quality_concrete_v1.pt",
"paving_stones": "v1/surface_quality_paving_stones_v1.pt",
"sett": "v1/surface_quality_sett_v1.pt",
"unpaved": "v1/surface_quality_unpaved_v1.pt"
},
"road_type": "v1/road_type_v1.pt"
},
"gpu_kernel": 0,
"transform_surface": {
"resize": 384,
"crop": "lower_middle_half"
},
"transform_road_type": {
"resize": 384,
"crop": "lower_half"
},
}
root_path = Path(os.path.abspath(__file__)).parent
image_ids = [
# "IMG_20210221_135447",
"IMG_20210226_172956",
# "IMG_20230130_162826",
]
logging.basicConfig(format="%(levelname)s:%(message)s", level=logging.INFO)
image_data = []
for id in image_ids:
path = root_path / "example_images" / f"{id}.jpg"
try:
image_data.append(Image.open(path))
except Exception as e:
logging.warning(f'{e}: Not found or corrupted image: {path}')
md = Models.ModelInterface(config=config)
results = md.batch_classifications(image_data, image_ids)
for result in results:
print(result)