DocsBCILattice Model Catalog
BCILattice Documentation

BCILattice Model Catalog

All BCI model classes plus the full HuggingFace ecosystem:Edge, GPT, Sequence, Transformer, and 679 HuggingFace blocks (Models, Tokenizers, Training, Pipelines, Datasets, PEFT, Evaluate, Hub). Constructor parameters, methods, and import lines.

v2.0BCINexus Platform · 2026-05-20[email protected]

Overview

BCILattice ships a curated set of deep learning model classes under the nm_models namespace. These are available as drag-and-drop blocks inside the ML Suite canvas and can be wired into any training pipeline. Each class is documented here with its full constructor signature, parameter table, and available methods.

All models accept EEG / BCI signal tensors as input and return a model object that can be connected to training, evaluation, and export blocks.

CategoryModuleClasses
BCI EEG Modelsnm_models.bci_eegEEGNet, ShallowConvNet, DeepConvNet, ATCNet, EEGConformer
BCI Decodingmne.decodingCSP, SPoC, XdawnTransformer, SSD, EMS, UnsupervisedSpatialFilter, Vectorizer, Scaler
Riemannian GeometrypyriemannCovariances, ERPCovariances, TangentSpace + MDM, FgMDM, TSClassifier
Edge Modelsnm_models.edgeMobileEEGNet, QuantizedEEGNet, TinyEEGNet
GPT Modelsnm_models.gpt_modelsTinyGPT, MiniGPT, LargeGPT, GPT2BCI, BioGPTBCI, LaBraMBCI
Sequence Modelsnm_models.sequenceLSTMClassifier, BiLSTMClassifier, GRUClassifier, TCNClassifier, MambaSSM
Transformer Modelsnm_models.transformersPatchTST, BrainBERT, EEGTransformer, ViTEEG
HF Modelstransformers48 classes:Auto, BERT, RoBERTa, DistilBERT, ALBERT, ELECTRA, XLNet, GPT-2, T5, Llama, Mistral, Qwen, Gemma, Phi, Falcon, Whisper, CLIP, ViT, DeiT, Swin + BitsAndBytesConfig, GenerationConfig
HF Tokenizerstransformers28 tokenizers / processors:AutoTokenizer, BertTokenizer(Fast), RobertaTokenizer(Fast), DistilBert, Albert, Electra, XLNet, GPT2, T5, Llama, Whisper, CLIP tokenizers + Auto Processors
HF TrainingtransformersTrainingArguments, Seq2SeqTrainingArguments, Trainer, Seq2SeqTrainer, DataCollatorWithPadding, DataCollatorForSeq2Seq, DataCollatorForLanguageModeling, DataCollatorForWholeWordMask, EarlyStoppingCallback
HF Pipelinestransformerspipeline() + 25 task variants: text-classification, NER, QA, text-generation, summarization, translation, fill-mask, zero-shot, ASR, image-classification, object-detection, VQA, depth-estimation, …
HF Datasetsdatasetsload_dataset, load_from_disk, concatenate_datasets, interleave_datasets, Dataset, DatasetDict, IterableDataset, Features, ClassLabel, Sequence, Value, Array2D/3D
HF PEFTpeftLoraConfig, AdaLoraConfig, IA3Config, PromptTuningConfig, PrefixTuningConfig, PromptEncoderConfig, get_peft_model, prepare_model_for_kbit_training, PeftModel, PeftModelForCausalLM/Seq2Seq/SequenceClassification/TokenClassification
HF Evaluateevaluateevaluate.load, evaluate.combine, evaluator, EvaluationModule (compute / add / add_batch / reset)
HF Hubhuggingface_hubhf_hub_download, snapshot_download, HfApi, login, logout, whoami, list_models, list_datasets, model_info, dataset_info

Edge Models

Lightweight EEG classification architectures optimised for edge deployment, low-latency inference, and quantization. Available in the nm_models.edge module.

MobileEEGNet

Classnm_models.edgeRole: both
from nm_models.edge import MobileEEGNet
MobileEEGNet(n_channels=16, n_classes=4, width_mult=0.5, dropout=0.3)

Constructor Parameters

ParameterTypeDefault
n_channelsint16
n_classesint4
width_multfloat0.5
dropoutfloat0.3

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

QuantizedEEGNet

Classnm_models.edgeRole: both
from nm_models.edge import QuantizedEEGNet
QuantizedEEGNet()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor
.prepare_quantization()-> self: QuantizedEEGNet
.convert_to_int8()-> self: QuantizedEEGNet
.export_onnx()-> path: str
ParameterTypeDefault
pathstr
sample_inputtorch.Tensor

TinyEEGNet

Classnm_models.edgeRole: both
from nm_models.edge import TinyEEGNet
TinyEEGNet()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

GPT Models

Transformer-based language-style architectures adapted for BCI signal classification and generation tasks. Available in nm_models.gpt_models.

TinyGPT

Classnm_models.gpt_modelsRole: both
from nm_models.gpt_models import TinyGPT
TinyGPT()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

MiniGPT

Classnm_models.gpt_modelsRole: both
from nm_models.gpt_models import MiniGPT
MiniGPT()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

LargeGPT

Classnm_models.gpt_modelsRole: both
from nm_models.gpt_models import LargeGPT
LargeGPT()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

GPT2BCI

Classnm_models.gpt_modelsRole: both
from nm_models.gpt_models import GPT2BCI
GPT2BCI()

Constructor Parameters

ParameterTypeDefault
n_positionsint128

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

BioGPTBCI

Classnm_models.gpt_modelsRole: both
from nm_models.gpt_models import BioGPTBCI
BioGPTBCI()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

LaBraMBCI

Classnm_models.gpt_modelsRole: both
from nm_models.gpt_models import LaBraMBCI
LaBraMBCI()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

Sequence Models

Recurrent and temporal convolutional architectures for sequential BCI decoding. Available in nm_models.sequence.

LSTMClassifier

Classnm_models.sequenceRole: both
from nm_models.sequence import LSTMClassifier
LSTMClassifier()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

BiLSTMClassifier

Classnm_models.sequenceRole: both
from nm_models.sequence import BiLSTMClassifier
BiLSTMClassifier()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

GRUClassifier

Classnm_models.sequenceRole: both
from nm_models.sequence import GRUClassifier
GRUClassifier()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

TCNClassifier

Classnm_models.sequenceRole: both
from nm_models.sequence import TCNClassifier
TCNClassifier()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

MambaSSM

Classnm_models.sequenceRole: both
from nm_models.sequence import MambaSSM
MambaSSM()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

Transformer Models

Patch-based transformer architectures for time-series BCI classification. Available in nm_models.transformers.

PatchTST

Classnm_models.transformersRole: both
from nm_models.transformers import PatchTST
PatchTST()

Output: model_obj: Any

Methods

.forward()-> output: Any
ParameterTypeDefault
xtorch.Tensor

HuggingFace Integration

BCILattice integrates the full HuggingFace ecosystem as drag-and-drop blocks in the ML Suite and Workflow canvases. Every transformers, peft, datasets, evaluate, and huggingface_hub component is available with its complete parameter set:no coding required.

CategoryLibraryHighlights
HF ModelstransformersAuto classes, BERT, RoBERTa, DistilBERT, ALBERT, ELECTRA, XLNet, GPT-2, T5, Llama, Mistral, Qwen2, Gemma2, Phi-3, Falcon, Whisper, CLIP, ViT, DeiT, Swin + quantization & generation configs
HF TokenizerstransformersAutoTokenizer, AutoProcessor, AutoFeatureExtractor, AutoImageProcessor and 25+ model-specific tokenizers with encode / decode / batch_encode_plus methods
HF TrainingtransformersTrainer, Seq2SeqTrainer, TrainingArguments, Seq2SeqTrainingArguments, DataCollators (padding, seq2seq, LM, WWM), callbacks (EarlyStopping, Printer, Progress)
HF Pipelinestransformers25 task-specific pipelines: text-classification, NER, QA, text-generation, summarization, translation, fill-mask, zero-shot, ASR, image-classification, depth-estimation, VQA, and more
HF Datasetsdatasetsload_dataset, Dataset, DatasetDict, IterableDataset, Features, ClassLabel, Sequence, Value, Array2D/3D + map / filter / shuffle / split / push_to_hub methods
HF PEFTpeftLoRA, AdaLoRA, IA³, PromptTuning, PrefixTuning, PromptEncoder, get_peft_model, prepare_model_for_kbit_training, PeftModel + merge / unload / adapter management
HF Evaluateevaluateevaluate.load (accuracy, F1, BLEU, ROUGE, BERTScore, perplexity, seqeval, …), combine, evaluator + compute / add_batch methods
HF Hubhuggingface_hubhf_hub_download, snapshot_download, HfApi (upload, create_repo, list_repo_files), login, list_models, list_datasets, model_info

HF Models

All model classes live in the HuggingFace Models palette category. Each block exposes a from_pretrained method block plus save_pretrained and push_to_hub. Key constructor parameters (model_name_or_path, torch_dtype, device_map, num_labels) are editable in the Property Inspector.

Auto Classes

Auto classes select the correct architecture from the checkpoint name automatically.

AutoModelGeneral-purpose encoder:returns hidden states.
AutoModelForSequenceClassificationText / signal classification (num_labels).
AutoModelForTokenClassificationToken-level labeling:NER, POS tagging.
AutoModelForQuestionAnsweringExtractive QA:returns start/end logits.
AutoModelForCausalLMAutoregressive text / sequence generation.
AutoModelForSeq2SeqLMEncoder-decoder generation (T5, BART, mBART).
AutoModelForMaskedLMMasked language modeling:BERT-style.
AutoModelForSpeechSeq2SeqSpeech → text (Whisper-family).
AutoModelForImageClassificationImage → class label (ViT-family).
AutoConfigLoad model configuration without weights.

BERT Family

from transformers import BertForSequenceClassification
model = BertForSequenceClassification.from_pretrained('bert-base-uncased', num_labels=4)
ParameterTypeDefault
model_name_or_pathstrbert-base-uncased
num_labelsint2

Also available: BertModel, BertForTokenClassification, BertForQuestionAnswering, BertForMaskedLM, RobertaModel/ForSequenceClassification/ForTokenClassification, DistilBertModel/For*, AlbertModel/For*, ElectraModel/For*, XLNetModel/For*.

GPT-2

from transformers import GPT2LMHeadModel, GenerationConfig
model = GPT2LMHeadModel.from_pretrained('gpt2')
gen_cfg = GenerationConfig(max_new_tokens=256, do_sample=True, temperature=0.8, top_p=0.95)

T5

from transformers import T5ForConditionalGeneration, T5TokenizerFast
model = T5ForConditionalGeneration.from_pretrained('t5-small')
tokenizer = T5TokenizerFast.from_pretrained('t5-small')

Llama / Mistral / Qwen

Large language models for causal generation:typically used with 4-bit or 8-bit quantization.

from transformers import AutoModelForCausalLM, BitsAndBytesConfig
import torch

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_use_double_quant=True,
    bnb_4bit_compute_dtype="bfloat16",
)
model = AutoModelForCausalLM.from_pretrained(
    "meta-llama/Meta-Llama-3-8B-Instruct",
    quantization_config=bnb_config,
    device_map="auto",
)

Supported: LlamaForCausalLM, Llama3ForCausalLM, MistralForCausalLM, MixtralForCausalLM, Qwen2ForCausalLM, Gemma2ForCausalLM, Phi3ForCausalLM, FalconForCausalLM.

Vision & Multimodal

from transformers import ViTForImageClassification, CLIPModel
vit   = ViTForImageClassification.from_pretrained('google/vit-base-patch16-224')
clip  = CLIPModel.from_pretrained('openai/clip-vit-base-patch32')

Also: DeiTForImageClassification, SwinModel, CLIPTextModel.

Audio (Whisper)

from transformers import WhisperForConditionalGeneration, WhisperProcessor
model     = WhisperForConditionalGeneration.from_pretrained("openai/whisper-small")
processor = WhisperProcessor.from_pretrained("openai/whisper-small")

Quantization & Generation

ParameterTypeDefault
load_in_4bitboolfalse
load_in_8bitboolfalse
bnb_4bit_quant_typestrnf4
bnb_4bit_use_double_quantbooltrue
bnb_4bit_compute_dtypestrbfloat16

Tokenizers & Processors

All tokenizers expose a unified set of methods: __call__, encode, decode, batch_encode_plus, tokenize, convert_tokens_to_ids, convert_ids_to_tokens, save_pretrained, and from_pretrained.

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased')
encoded   = tokenizer(
    "EEG signal classification",
    padding="max_length",
    truncation=True,
    max_length=128,
    return_tensors="pt",
)
ParameterTypeDefault
paddingstrmax_length
truncationbooltrue
max_lengthint512
return_tensorsstrpt

28 tokenizers available including AutoProcessor, AutoFeatureExtractor, AutoImageProcessor, WhisperProcessor, CLIPProcessor.

Training

TrainingArguments

Controls every aspect of the training loop:learning rate, batch size, checkpointing, logging, and mixed precision.

from transformers import TrainingArguments
args = TrainingArguments(
    output_dir="./results",
    num_train_epochs=3,
    per_device_train_batch_size=16,
    learning_rate=5e-5,
    fp16=True,
    evaluation_strategy="epoch",
    save_strategy="epoch",
    load_best_model_at_end=True,
    report_to="none",
)
ParameterTypeDefault
output_dirstr./results
num_train_epochsint3
per_device_train_batch_sizeint16
per_device_eval_batch_sizeint16
learning_ratefloat5e-5
lr_scheduler_typestrlinear
warmup_stepsint500
weight_decayfloat0.01
fp16boolfalse
bf16boolfalse
gradient_accumulation_stepsint1
evaluation_strategystrepoch
save_strategystrepoch
load_best_model_at_endbooltrue
metric_for_best_modelstreval_loss
push_to_hubboolfalse
report_tostrnone
seedint42

Trainer

The Trainer block orchestrates training, evaluation, and prediction. Wire it to a model, tokenizer, datasets, and collator.

from transformers import Trainer
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_ds,
    eval_dataset=eval_ds,
    tokenizer=tokenizer,
    data_collator=collator,
    compute_metrics=compute_metrics,
)
trainer.train()

Methods: train(), evaluate(), predict(), save_model(), push_to_hub(), get_train_dataloader().

Seq2Seq variant: Seq2SeqTrainer with Seq2SeqTrainingArguments.

Data Collators

CollatorUse Case
DataCollatorWithPaddingClassification:pads sequences to longest in batch.
DataCollatorForSeq2SeqEncoder-decoder:pads inputs and labels separately.
DataCollatorForLanguageModelingMLM / CLM:applies random token masking (mlm_probability).
DataCollatorForWholeWordMaskWhole-word masking for BERT pre-training.

Callbacks

EarlyStoppingCallback(early_stopping_patience=3):stops training when metric_for_best_model stops improving. PrinterCallback and ProgressCallback for logging.

Pipelines

The pipeline() block wraps a model and tokenizer into a single callable inference object. BCILattice exposes 25 task-specific variants as ready-made blocks.

from transformers import pipeline
clf = pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")
asr = pipeline("automatic-speech-recognition", model="openai/whisper-small", device=0)
TaskDefault Model
text-classification / sentiment-analysisdistilbert-base-uncased-finetuned-sst-2-english
token-classification / nerdbmdz/bert-large-cased-finetuned-conll03-english
question-answeringdeepset/roberta-base-squad2
text-generationgpt2
summarizationfacebook/bart-large-cnn
translation (en→fr/de/ro)Helsinki-NLP/opus-mt-*
fill-maskbert-base-uncased
zero-shot-classificationfacebook/bart-large-mnli
automatic-speech-recognitionopenai/whisper-small
image-classificationgoogle/vit-base-patch16-224
object-detectionfacebook/detr-resnet-50
visual-question-answeringdandelin/vilt-b32-finetuned-vqa
depth-estimationIntel/dpt-large
conversationalmicrosoft/DialoGPT-medium

Datasets

The datasets library provides fast, memory-mapped dataset loading with built-in transforms and Hub integration.

from datasets import load_dataset
ds = load_dataset("imdb", split="train")          # HuggingFace Hub
ds = load_dataset("csv", data_files="data.csv")  # local CSV
ds = ds.train_test_split(test_size=0.1, seed=42)

Dataset Methods

ParameterTypeDefault
map(fn, batched, num_proc)Dataset
filter(fn)Dataset
shuffle(seed)Dataset
select(indices)Dataset
train_test_split(test_size)DatasetDict
sort(column)Dataset
rename_column(old, new)Dataset
remove_columns(cols)Dataset
set_format(type="torch")None
save_to_disk(path)None
push_to_hub(repo_id)None

Feature types: Value, ClassLabel, Sequence, Array2D, Array3D.

PEFT / LoRA

Parameter-Efficient Fine-Tuning methods let you fine-tune large models by training only a small fraction of parameters. BCILattice exposes all PEFT methods as canvas blocks.

LoraConfig

from peft import LoraConfig, TaskType
config = LoraConfig(
    task_type=TaskType.CAUSAL_LM,
    r=8,
    lora_alpha=32,
    lora_dropout=0.1,
    target_modules=["q_proj", "v_proj"],
    bias="none",
)
ParameterTypeDefault
task_typeTaskTypeCAUSAL_LM
rint8
lora_alphaint32
lora_dropoutfloat0.1
target_modulesList[str]
biasstrnone
use_rsloraboolfalse
modules_to_saveList[str]

PeftModel

from peft import get_peft_model, PeftModel
# Wrap a base model
peft_model = get_peft_model(model, lora_config)
peft_model.print_trainable_parameters()

# Load saved adapter
loaded = PeftModel.from_pretrained(model, "path/to/adapter")
merged = loaded.merge_and_unload()   # merge LoRA weights into base

Methods: print_trainable_parameters(), merge_adapter(), unmerge_adapter(), merge_and_unload(), save_pretrained(), load_adapter(), enable/disable_adapter_layers(), set_adapter().

Other PEFT Methods

Config ClassMethod
AdaLoraConfigAdaptive LoRA:dynamically allocates rank budget.
IA3ConfigIA³:scales attention keys, values, and FFN activations.
PromptTuningConfigSoft prompt tuning:prepend learnable virtual tokens.
PrefixTuningConfigPrefix vectors prepended to every transformer layer.
PromptEncoderConfigP-tuning v2:MLP encoder produces prefix embeddings.
prepare_model_for_kbit_trainingPrepares a quantized model for gradient checkpointing.

Evaluate

evaluate.load() returns a metric module with compute(predictions, references), add(), add_batch(), and reset() methods.

import evaluate
accuracy = evaluate.load("accuracy")
f1       = evaluate.load("f1")
rouge    = evaluate.load("rouge")
combined = evaluate.combine(["accuracy", "f1"])

results = accuracy.compute(predictions=[1, 0, 1], references=[1, 1, 0])

Available metrics: accuracy, f1, precision, recall, bleu, rouge, meteor, bertscore, perplexity, seqeval, glue, squad, squad_v2.

HuggingFace Hub

Upload models, datasets, and adapters:or download checkpoints:directly from canvas blocks.

from huggingface_hub import login, hf_hub_download, HfApi
login(token="hf_...")

# Download a single file
path = hf_hub_download(repo_id="bert-base-uncased", filename="config.json")

# Upload via HfApi
api = HfApi(token="hf_...")
api.upload_file(
    path_or_fileobj="./model.pt",
    path_in_repo="model.pt",
    repo_id="my-org/my-model",
)

HfApi Methods

ParameterTypeDefault
upload_file(path, path_in_repo, repo_id)str
upload_folder(folder, repo_id)str
create_repo(repo_id, private)RepoUrl
delete_repo(repo_id)None
list_repo_files(repo_id)Iterable[str]
delete_file(path_in_repo, repo_id)None
BCILattice Model Catalog v2.0 · BCINexus Platform · 2026-05-20 Download PDF