YAML Metadata
Warning:
empty or missing yaml metadata in repo card
(https://huggingface.co/docs/hub/model-cards#model-card-metadata)
Para un uso sencillo del modelo utilize el siguiente codigo:
#! pip install transformers
#! pip install torch
#! pip install datasets
from transformers import DistilBertForSequenceClassification, DistilBertTokenizer
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from datasets import load_dataset
import numpy as np
import torch
dataset = load_dataset("manoh2f2/songs_resampled")
# Cargar el dataset en un DataFrame
split_name = 'train'
df_resampled = dataset[split_name].to_pandas()
tokenizer = AutoTokenizer.from_pretrained("manoh2f2/recommend_songs")
model = AutoModelForSequenceClassification.from_pretrained("manoh2f2/recommend_songs")
# Define a prompt
prompt = "I am happy"
# Tokenize the prompt
encoded_prompt = tokenizer(prompt, return_tensors='pt', max_length=256)
# Make a prediction using the trained model
with torch.no_grad():
model_output = model(**encoded_prompt)
# Get the predicted emotion index
predicted_emotion_index = torch.argmax(model_output.logits).item()
# Map the index back to the emotion label using the DataFrame
predicted_emotion_label = df_resampled['emotions'].unique()[predicted_emotion_index]
# Get a song associated with the predicted emotion from the DaraFrame
result = df_resampled[df_resampled['emotions'] == predicted_emotion_label]
# Get the number of rows in the DataFrame
num_rows = result.shape[0]
#Generate a random index to select a random song from the DataFrame
random_index = np.random.randint(0, num_rows)
#Get the recommended song and artist
recommended_song = result['song'].iloc[random_index]
recommended_artist = result['artist'].iloc[random_index]
#Print the results
print(f"Prompt: {prompt}")
print(f"Predicted Emotion: {predicted_emotion_label}")
print(f"Recommended Song: {recommended_song} - {recommended_artist}")
- Downloads last month
- 3
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social
visibility and check back later, or deploy to Inference Endpoints (dedicated)
instead.