I’m trying to load a HF model (Mistral-7B-v0.1) and tokenizer offline, from local files and using transformers library. I’ve downloaded the whole repository (config, model, weights, tokenizers, etc.) and I’m using the following code to load them which outputs : “name ‘tokenizer’ is not defined”
Thank you
import os
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, AutoConfig
os.environ['TRANSFORMERS_OFFLINE']='1'
model_path = "/media/models/mistral-7v1/"
try:
config = AutoConfig.from_pretrained(model_path, local_files_only=True)
tokenizer = AutoTokenizer.from_pretrained(model_path, config=config, local_files_only=True)
model = AutoModelForCausalLM.from_pretrained(model_path, config=config, local_files_only=True)
except torch.cuda.OutOfMemoryError as e:
print(f"Error: {e}")
show_gpu()
except Exception as e:
print(f"Error loading the model or tokenizer: {e}")
def generate_text(prompt, max_length=50):
if tokenizer is None or model is None:
print("Model or tokenizer not loaded properly.")
return None
try:
# Encode the prompt
inputs = tokenizer(prompt, return_tensors="pt")
# Generate the text
outputs = model.generate(inputs["input_ids"], max_length=max_length, num_return_sequences=1)
# Decode the generated text
text = tokenizer.decode(outputs[0], skip_special_tokens=True)
return text
except torch.cuda.OutOfMemoryError as e:
print(f"Memory error: {e}")
except Exception as e:
print(f"Error generating text: {e}")
prompt = "Once upon a time"
try:
generated_text = generate_text(prompt)
if generated_text:
print(f"Prompt: {prompt}")
print(f"Generated Text: {generated_text}")
except Exception as e:
print(f"Error in text generation: {e}")