geneflowdecoder 0.1.3__tar.gz → 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geneflowdecoder
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Gene Transformer + Conditional Rectified Flow decoder from cell-state z to log1p expression X.
5
5
  Author: GeneFlowDecoder Contributors
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "geneflowdecoder"
3
- version = "0.1.3"
3
+ version = "0.1.4"
4
4
  description = "Gene Transformer + Conditional Rectified Flow decoder from cell-state z to log1p expression X."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
@@ -393,11 +393,19 @@ class GeneFlowDecoder(nn.Module):
393
393
  if self.freeze_z:
394
394
  z = z.detach()
395
395
  B, G = x_t.shape
396
- t_emb = self.time_mlp(self._sincos(t)).unsqueeze(1) # [B,1,d]
397
- gids = self._gene_ids[:G].unsqueeze(0).expand(B, -1) # 明确 [B,G]
398
- h = self.backbone(gids, z) + t_emb
399
- v = self.vel_proj(h) # [B,G,1] 或 [B,G]
400
- v = v.reshape(B, G) # ← 强制对齐,根治错位
396
+ t_emb = self.time_mlp(self._sincos(t)).unsqueeze(1) # [B,1,d]
397
+ gids = self._gene_ids[:G].unsqueeze(0).expand(B, -1) # [B,G]
398
+ h = self.backbone(gids, z) + t_emb # [B,G,d]
399
+
400
+ # ★ 关键:只对特征维 d 做线性,结果天然是 [B, G]
401
+ v = self.vel_proj(h.squeeze(-2) if h.ndim == 2 else h) # [B,G,d]→[B,G]
402
+ if v.ndim == 3:
403
+ v = v.squeeze(-1) # [B,G,1]→[B,G]
404
+ if v.ndim != 2 or v.shape != (B, G):
405
+ raise RuntimeError(
406
+ f"_velocity shape bug: got {tuple(v.shape)}, expected ({B},{G}). "
407
+ f"检查 vel_proj 是否为 nn.Linear(d, 1) 而非 nn.Linear(d, n_genes)"
408
+ )
401
409
  return v
402
410
 
403
411
  # ----------------------------------------------------------------
@@ -1,2 +1,2 @@
1
1
  # -*- coding: utf-8 -*-
2
- __version__ = "0.1.3"
2
+ __version__ = "0.1.4"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geneflowdecoder
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Gene Transformer + Conditional Rectified Flow decoder from cell-state z to log1p expression X.
5
5
  Author: GeneFlowDecoder Contributors
6
6
  License: MIT
File without changes