Views
No views yet
google/efficientnet-b0 and has been fine-tuned on a custom dataset for specialized image classification tasks.['Acacia melanoxylon', 'Acer saccharinum', 'Afzelia africana', 'Afzelia pachyloba', 'Afzelia quanzensis', 'Albizia lucida (Albizia lucidior)', 'Allophylus cobbe (Pometia pinnata)', 'Anisoptera costata (Anisoptera Robusta)', 'Apuleia\xa0leiocarpa', 'Artocarpus calophyllus (Artocarpus asperulus)', 'Artocarpus heterophyllus', 'Autranella congolensis', 'Berlinia bracteosa', 'Betula pendula', 'Bobgunnia fistuloides (Swartzia fistuloides)', 'Brachystegia sp', 'Burckella obovata', 'Burretiodendron tonkinense', 'Callitris columellaris', 'Calocedrus sp', 'Canarium album', 'Chrysophyllum sp', 'Cinnamomum camphora', 'Clarisia racemosa', 'Colophospermum mopane', 'Cunninghamia lanceolata', 'Cupressus funebris (Cupressus pendula)', 'Cylicodiscus gabunensis', 'Dalbergia cochinchinensis', 'Dalbergia oliveri', 'Detarium macrocarpum', 'Dialium bipindense', 'Didelotia africana', 'Diospyros mun', 'Diospyros salletii', 'Distemonanthus benthamianus', 'Engelhardia chrysolepis (Engelhardia roxburghiana)', 'Entandrophragma cylindricum', 'Entandrophragma utile', 'Erythrophleum fordii\xa0', 'Erythrophleum ivorense', 'Eucalyptus cladocalyx', 'Eucalyptus grandis', 'Eucalyptus microcorys', 'Eucalyptus saligna', 'Fokienia hodginsii', 'Fraxinus excelsior', 'Gilbertiodendron dewevrei', 'Guarea cedrata', 'Guibourtia coleosperma', 'Heritiera littoralis', 'Hevea brasiliensis', 'Homalium caryophyllaceum', 'Homalium foetidum', 'Hopea iriana', 'Hopea pierrei', 'Hymenaea courbaril', 'Hymenolobium heterocarpum', 'Juglans regia', 'Khaya senegalensis', 'Klainedoxa gabonensis', 'Lithocarpus ducampii', 'Lophira alata', 'Magnolia hypolampra', 'Martiodendron parviflorum', 'Milicia excelsa', 'Milicia regia', 'Millettia laurentii', 'Monopetalanthus letestui (Bikinia letestui)', 'Myracrodruon urundeuva', 'Myroxylon balsamum', 'Myroxylon balsamum_v2', 'Myroxylon peruiferum', 'Nauclea diderrichii', 'Pachyelasma tessmannii', 'Palaquium waburgianum', 'Pericopsis elata', 'Pinus sp', 'Piptadeniastrum africanum', 'Populus sp', 'Prunus serotina', 'Pterocarpus macrocarpus', 'Pterocarpus soyauxii', 'Pterocarpus sp', 'Qualea paraensis', 'Quercus petraea', 'Quercus robur', 'Quercus rubra', 'Samanea saman', 'Shorea hypochra (Anthoshorea hypochra)', 'Shorea roxburghii (Anthoshorea roxburghii)', 'Sindora cochinchinensis', 'Staudtia stipitata', 'Syzygium hemisphericum (Syzygium chanlos)', 'Tarrietia cochinchinensis (Heritiera cochinchinesis)', 'Tectona grandis', 'Terminalia superba', 'Tetraberlinia bifoliolata', 'Toona sureni', 'Xylia xylocarpa']1transforms.Compose([
2 transforms.RandomApply([
3 transforms.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2, hue=0.2),
4 transforms.RandomHorizontalFlip(p=0.5),
5 transforms.RandomVerticalFlip(p=0.2),
6 transforms.RandomAffine(degrees=15, shear=0.2, scale=(0.9, 1.1)),
7 transforms.RandomRotation(degrees=15),
8 ], p=0.5),
9 transforms.Resize((224, 224)),
10 transforms.RandomResizedCrop(224, scale=(0.8, 1.0)),
11 transforms.ToTensor(),
12 transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
13])1from transformers import EfficientNetForImageClassification, EfficientNetImageProcessor
2import torch
3from PIL import Image
4import requests
5
6# Load model and processor
7model = EfficientNetForImageClassification.from_pretrained("huytranduck/efficientnet_b0_50x_dataset")
8processor = EfficientNetImageProcessor.from_pretrained("huytranduck/efficientnet_b0_50x_dataset")
9
10# Load image
11url = "http://images.cocodataset.org/val2017/000000039769.jpg"
12image = Image.open(requests.get(url, stream=True).raw)
13
14# Preprocess image
15inputs = processor(image, return_tensors="pt")
16
17# Make prediction
18with torch.no_grad():
19 outputs = model(**inputs)
20 predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
21 predicted_class_id = predictions.argmax().item()
22 confidence = predictions.max().item()
23
24print(f"Predicted class: {predicted_class_id}")
25print(f"Confidence: {confidence:.4f}")1# For multiple images
2images = [image1, image2, image3] # List of PIL Images
3inputs = processor(images, return_tensors="pt")
4
5with torch.no_grad():
6 outputs = model(**inputs)
7 predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
8 predicted_classes = predictions.argmax(dim=-1)1device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
2model = model.to(device)
3
4inputs = processor(image, return_tensors="pt")
5inputs = {k: v.to(device) for k, v in inputs.items()}
6
7with torch.no_grad():
8 outputs = model(**inputs)
9 predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)1import torch
2from transformers import EfficientNetConfig, EfficientNetForImageClassification, EfficientNetImageProcessor
3
4# Model setup
5model_name = "google/efficientnet-b0"
6config = EfficientNetConfig.from_pretrained(model_name)
7config.num_labels = 100
8model = EfficientNetForImageClassification(config)
9processor = EfficientNetImageProcessor.from_pretrained(model_name)
10
11# Training parameters
12epochs = 2
13batch_size = 64
14learning_rate = 0.0001
15
16# Training loop with F1-score monitoring
17optimizer = torch.optim.AdamW(model.parameters(), lr=learning_rate)
18criterion = torch.nn.CrossEntropyLoss()1@misc{huytranduck_efficientnet_b0_50x_dataset,
2 title={Custom EfficientNet-B0 for Image Classification},
3 author={Your Name},
4 year={2024},
5 publisher={Hugging Face},
6 url={https://huggingface.co/huytranduck/efficientnet_b0_50x_dataset}
7}