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( struct llama_layer * llama_get_layer_from_model(
const struct llama_model * model, struct llama_model * model,
int layer_idx) { int layer_idx) {
if (layer_idx < 0 || layer_idx >= model->hparams.n_layer) { if (layer_idx < 0 || layer_idx >= model->hparams.n_layer) {
return NULL; return NULL;
@ -4222,57 +4222,51 @@ struct llama_layer * llama_get_layer_from_model(
} }
} }
struct llama_layer * llama_get_layer( struct ggml_tensor * llama_get_model_tok_embeddings(struct llama_model * model) {
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) {
return model->tok_embeddings; 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; 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; 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; 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; 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; 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; 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; 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; 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; 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; 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; return layer->w3;
} }

30
llama.h
View file

@ -358,27 +358,23 @@ extern "C" {
int capacity); int capacity);
// Get a llama layer // 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( LLAMA_API struct llama_layer * llama_get_layer_from_model(
const struct llama_model * model, struct llama_model * model,
int layer); 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_tok_embeddings(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_norm (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_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_attention_norm(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_wq (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_wk (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_wv (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_wo (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_ffn_norm (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_w1 (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_w2 (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_w3 (struct llama_layer * layer);
// Token logits obtained from the last call to llama_eval() // Token logits obtained from the last call to llama_eval()
// The logits for the last token are stored in the last row // The logits for the last token are stored in the last row