jgleaves7's picture
Update app.py
431b1f2 verified
import torch
# Carga del modelo
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("openai-community/gpt2")
model = AutoModelForCausalLM.from_pretrained("openai-community/gpt2")
#Carga de modelo optimizada
modelq = AutoModelForCausalLM.from_pretrained("openai-community/gpt2",torch_dtype=torch.float16, device_map="auto", attn_implementation="sdpa")
# Comparativo de uso de memoria
gbsO = model.get_memory_footprint() / 1e9
gbs = modelq.get_memory_footprint() / 1e9
print(f"Numero de parametros modelo Original: {model.num_parameters()/1_000_000:.2f} M")
print(f"Numero de parametros modelo Optimizado: {modelq.num_parameters()/1_000_000:.2f} M")
print(f"Memory footprint FP32: {gbsO:.2f} GB")
print(f"Memory footprint FB16: {gbs:.2f} GB")
# Crear funci贸n de salida
def Generate(text):
# eneraci贸n de tokens del texto de entrada
input_ids = tokenizer(text, return_tensors="pt").input_ids
# Modelos de generaci贸n de texto
output_idsq = modelq.generate(input_ids, do_sample=True,temperature=0.4, repetition_penalty=1.2, max_new_tokens=40)
output_ids = model.generate(input_ids, do_sample=True,temperature=0.4, repetition_penalty=1.2, max_new_tokens=40)
# Decodificaci贸n de los tokens generados
decoded_textq = tokenizer.decode(output_idsq[0])
decoded_text = tokenizer.decode(output_ids[0])
return f"Texto generado sin cuantificaci贸n: {decoded_text}\n\n Texto generado con cuantificaci贸n: {decoded_textq}"
# Importaci贸n de Biblioteca para interface
import gradio as gr
iface = gr.Interface(
fn=Generate,
inputs=gr.Textbox(lines=2, placeholder="Escriba una oraci贸n aqu铆... Debe ser en el idioma ingl茅s"),
outputs=gr.Textbox(placeholder="Ejemplo de texto generado"),
title="Creador de historias",
description="Introduce una oraci贸n para crear m谩s contexto sobre el texto inicial. El modelo puede generar texto."
)
iface.launch()