Views
No views yet
Gene Embeddings → Shared Encoder (4 layers)
↓
┌─────────────┴─────────────┐
↓ ↓
Tissue Encoder (2 layers) [+ Tissue Embedding]
↓ ↓
Tissue Head MLM Encoder (4 layers)
↓ ↓
Predict Tissue MLM Head
(from genes only) (tissue-conditioned)| Metric | Value |
|---|---|
| Validation tissue accuracy | 92.2% |
| Training tissue accuracy | 99.2% |
| Number of tissues | 47 |
| Vocabulary size | 46,728 tokens |
| Model parameters | 144.6M |
| Hidden size | 768 |
| Attention heads | 12 |
| Shared encoder layers | 4 |
| Tissue branch layers | 2 |
| MLM branch layers | 4 |
| Epochs trained | 65 (best at epoch 63) |
| Training hardware | NVIDIA GeForce RTX 4090 (24GB) |
| Training time | ~19 hours |
| Precision | FP32 |
best_tissue_model.pt — Model checkpoint (state dict + optimizer state)config.json — Model configuration1import torch
2import json
3from src.model.ees_transformer_v2 import EESTransformerV2, EESV2Config
4
5# Load config and model
6with open('config.json') as f:
7 config = EESV2Config(**json.load(f))
8
9checkpoint = torch.load('best_tissue_model.pt', map_location='cpu')
10model = EESTransformerV2(config)
11model.load_state_dict(checkpoint['model_state_dict'])
12model.eval()