remove const model and layer arguments in API functions for accessing model tensors

This commit is contained in:
xaedes 2023-08-16 16:21:02 +02:00
parent 28ee0c8583
commit 50b1e66200
No known key found for this signature in database
GPG key ID: 30030EDD817EA2B1
2 changed files with 27 additions and 37 deletions

View file

@ -4213,7 +4213,7 @@ int llama_get_vocab(
}
struct llama_layer * llama_get_layer_from_model(
const struct llama_model * model,
struct llama_model * model,
int layer_idx) {
if (layer_idx < 0 || layer_idx >= model->hparams.n_layer) {
return NULL;
@ -4222,57 +4222,51 @@ struct llama_layer * llama_get_layer_from_model(
}
}
struct llama_layer * llama_get_layer(
const struct llama_context * ctx,
int layer_idx) {
return llama_get_layer_from_model(&ctx->model, layer_idx);
}
struct ggml_tensor * llama_get_model_tok_embeddings(const struct llama_model * model) {
struct ggml_tensor * llama_get_model_tok_embeddings(struct llama_model * model) {
return model->tok_embeddings;
}
struct ggml_tensor * llama_get_model_norm(const struct llama_model * model) {
struct ggml_tensor * llama_get_model_norm(struct llama_model * model) {
return model->norm;
}
struct ggml_tensor * llama_get_model_output(const struct llama_model * model) {
struct ggml_tensor * llama_get_model_output(struct llama_model * model) {
return model->output;
}
struct ggml_tensor * llama_get_layer_attention_norm(const struct llama_layer * layer) {
struct ggml_tensor * llama_get_layer_attention_norm(struct llama_layer * layer) {
return layer->attention_norm;
}
struct ggml_tensor * llama_get_layer_wq(const struct llama_layer * layer) {
struct ggml_tensor * llama_get_layer_wq(struct llama_layer * layer) {
return layer->wq;
}
struct ggml_tensor * llama_get_layer_wk(const struct llama_layer * layer) {
struct ggml_tensor * llama_get_layer_wk(struct llama_layer * layer) {
return layer->wk;
}
struct ggml_tensor * llama_get_layer_wv(const struct llama_layer * layer) {
struct ggml_tensor * llama_get_layer_wv(struct llama_layer * layer) {
return layer->wv;
}
struct ggml_tensor * llama_get_layer_wo(const struct llama_layer * layer) {
struct ggml_tensor * llama_get_layer_wo(struct llama_layer * layer) {
return layer->wo;
}
struct ggml_tensor * llama_get_layer_ffn_norm(const struct llama_layer * layer) {
struct ggml_tensor * llama_get_layer_ffn_norm(struct llama_layer * layer) {
return layer->ffn_norm;
}
struct ggml_tensor * llama_get_layer_w1(const struct llama_layer * layer) {
struct ggml_tensor * llama_get_layer_w1(struct llama_layer * layer) {
return layer->w1;
}
struct ggml_tensor * llama_get_layer_w2(const struct llama_layer * layer) {
struct ggml_tensor * llama_get_layer_w2(struct llama_layer * layer) {
return layer->w2;
}
struct ggml_tensor * llama_get_layer_w3(const struct llama_layer * layer) {
struct ggml_tensor * llama_get_layer_w3(struct llama_layer * layer) {
return layer->w3;
}

30
llama.h
View file

@ -358,27 +358,23 @@ extern "C" {
int capacity);
// Get a llama layer
LLAMA_API struct llama_layer * llama_get_layer(
const struct llama_context * ctx,
int layer);
LLAMA_API struct llama_layer * llama_get_layer_from_model(
const struct llama_model * model,
struct llama_model * model,
int layer);
LLAMA_API struct ggml_tensor * llama_get_model_tok_embeddings(const struct llama_model * model);
LLAMA_API struct ggml_tensor * llama_get_model_norm (const struct llama_model * model);
LLAMA_API struct ggml_tensor * llama_get_model_output (const struct llama_model * model);
LLAMA_API struct ggml_tensor * llama_get_model_tok_embeddings(struct llama_model * model);
LLAMA_API struct ggml_tensor * llama_get_model_norm (struct llama_model * model);
LLAMA_API struct ggml_tensor * llama_get_model_output (struct llama_model * model);
LLAMA_API struct ggml_tensor * llama_get_layer_attention_norm(const struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_wq (const struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_wk (const struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_wv (const struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_wo (const struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_ffn_norm (const struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_w1 (const struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_w2 (const struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_w3 (const struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_attention_norm(struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_wq (struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_wk (struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_wv (struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_wo (struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_ffn_norm (struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_w1 (struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_w2 (struct llama_layer * layer);
LLAMA_API struct ggml_tensor * llama_get_layer_w3 (struct llama_layer * layer);
// Token logits obtained from the last call to llama_eval()
// The logits for the last token are stored in the last row