|
import google.generativeai as genai |
|
from transformers import AutoFeatureExtractor, AutoModel |
|
from PIL import Image |
|
import torch |
|
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
|
|
|
|
|
model_name = "google/efficientnet-b0" |
|
feature_extractor = AutoFeatureExtractor.from_pretrained(model_name) |
|
model = AutoModel.from_pretrained(model_name) |
|
|
|
|
|
image_path = "path/to/your/image.jpg" |
|
image = Image.open(image_path) |
|
inputs = feature_extractor(images=image, return_tensors="pt") |
|
|
|
|
|
with torch.no_grad(): |
|
outputs = model(**inputs) |
|
|
|
|
|
features = outputs.last_hidden_state.mean(dim=1) |
|
|
|
|
|
model_name = "t5-small" |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
model = AutoModelForSeq2SeqLM.from_pretrained(model_name) |
|
|
|
|
|
input_text = "Generate a recipe based on the following image features: " + str(features.tolist()) |
|
inputs = tokenizer(input_text, return_tensors="pt") |
|
|
|
|
|
with torch.no_grad(): |
|
outputs = model.generate(**inputs) |
|
|
|
|
|
recipe = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
print(recipe) |
|
|
|
|