YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

Very well working 2 layer NN for projection. Trained with custom N Pairs loss + hard negative mining. margin = 1.0

Load in using following code:

import torch
import torch.nn as nn
from transformers import AutoConfig, AutoTokenizer, AutoModel
from huggingface_hub import hf_hub_download
import json
from types import SimpleNamespace

#model architecture - needed since this is a custom model
class ProjectionModel(nn.Module):
    def __init__(self, config):
        super(ProjectionModel, self).__init__()
        self.config = config
        self.c_code_encoder = AutoModel.from_pretrained("microsoft/codebert-base")
        self.pseudocode_encoder = AutoModel.from_pretrained("microsoft/codebert-base")

        #Projection network with 1 hidden layer
        self.projection = nn.Sequential(
            nn.Linear(config.embedding_dim, config.hidden_dim),
            nn.ReLU(),  # First activation function
            nn.Linear(config.hidden_dim, config.hidden_dim),  #Hidden layer
            nn.ReLU(),  # Second activation function
            nn.Linear(config.hidden_dim, config.embedding_dim)  #Output layer projecting back to the original embedding space
        )

    def forward(self, c_code_inputs, pseudocode_inputs):
        #Encode C code and pseudocode
        c_code_embedding = self.c_code_encoder(**c_code_inputs).last_hidden_state.mean(dim=1)
        pseudocode_embedding = self.pseudocode_encoder(**pseudocode_inputs).last_hidden_state.mean(dim=1)

        #Apply the projection network to the pseudocode embeddings
        projected_pseudocode_embedding = self.projection(pseudocode_embedding)

        return c_code_embedding, projected_pseudocode_embedding

model_name = "aircrypto/code-llama-7b-projection-largev2.11"
config_file = hf_hub_download(repo_id=model_name, filename="config.json")

with open(config_file, 'r') as f:
    config_dict = json.load(f)
config = SimpleNamespace(**config_dict)

model = ProjectionModel(config)
model_path = hf_hub_download(repo_id=model_name, filename="pytorch_model.bin")
state_dict = torch.load(model_path, map_location="cpu")
model.load_state_dict(state_dict)

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device)

print("Model loaded successfully!")

tokenizer = AutoTokenizer.from_pretrained("aircrypto/code-llama-7b-projection-largev2.11")

print("Tokenizer loaded successfully!")
Downloads last month
1
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support