AbstractIntegratedModule 1.2.1__tar.gz → 1.2.2__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.
Files changed (23) hide show
  1. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.egg-info/PKG-INFO +1 -1
  2. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.py +21 -11
  3. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractOptimizedModules.c +200 -200
  4. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/PKG-INFO +1 -1
  5. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/README.md +13 -10
  6. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/pyproject.toml +1 -1
  7. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/setup.py +1 -1
  8. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.egg-info/SOURCES.txt +0 -0
  9. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.egg-info/dependency_links.txt +0 -0
  10. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.egg-info/requires.txt +0 -0
  11. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.egg-info/top_level.txt +0 -0
  12. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractOptimizedModules.pyx +0 -0
  13. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/MANIFEST.in +0 -0
  14. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/Cargo.toml +0 -0
  15. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/pyproject.toml +0 -0
  16. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/src/lib.rs +0 -0
  17. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/debug/build/libsqlite3-sys-ed07b882cd2aa5e2/out/bindgen.rs +0 -0
  18. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/debug/build/serde_core-ebc15f2e9cad7f5f/out/private.rs +0 -0
  19. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/debug/build/target-lexicon-08527f45de28143d/out/host.rs +0 -0
  20. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/release/build/libsqlite3-sys-bf0400df4523274c/out/bindgen.rs +0 -0
  21. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/release/build/serde_core-5cdb76131825e4af/out/private.rs +0 -0
  22. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/release/build/target-lexicon-43eb95a0588bf457/out/host.rs +0 -0
  23. {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AbstractIntegratedModule
3
- Version: 1.2.1
3
+ Version: 1.2.2
4
4
  Summary: Integrated Pipeline with Specialized Non-LLM AI Agent Framework for ARM64 architecture
5
5
  Author: Micro-Novelty
6
6
  Author-email: Micro-Novelty <hernikpuspita5@gmail.com>
@@ -1923,7 +1923,7 @@ class Transformer:
1923
1923
  mask_expanded = np.broadcast_to(
1924
1924
  mask, (batch, heads, seq_len, seq_len)
1925
1925
  )
1926
- # FIX 1 — inplace operations, ARM64 NEON works better on contiguous memory
1926
+ # inplace operations, ARM64 NEON works better on contiguous memory
1927
1927
  attn_weights = attn_weights * mask_expanded
1928
1928
  row_sums = attn_weights.sum(axis=-1, keepdims=True) + eps
1929
1929
  attn_weights = attn_weights / row_sums
@@ -2727,7 +2727,6 @@ class AdamOptimizer:
2727
2727
  class MLP:
2728
2728
  def __init__(self):
2729
2729
  self.layers = []
2730
- self.layers2 = []
2731
2730
  self.lr = 0.1
2732
2731
 
2733
2732
  self.error_counts = None
@@ -17591,11 +17590,13 @@ class PipelinePredictionManager:
17591
17590
 
17592
17591
  return titles, y, label_map
17593
17592
 
17594
- def knn_forward_inference(self, X, y, memory_metric='euclidean', training=False, batch_size=2, train_mode='fixed_backward', lr=0.1):
17593
+ def knn_forward_inference(self, X, y, label_map=None, memory_metric='euclidean', training=False, batch_size=2, train_mode='fixed_backward', lr=0.1):
17595
17594
  trans_probs = None
17596
17595
  use_embedded = True
17597
17596
  num_classes = self.pipeline._get_num_classes()
17598
-
17597
+ if label_map and isinstance(label_map, dict):
17598
+ reverse_map = {v: k for k, v in label_map.items()}
17599
+
17599
17600
  if self.pipeline.model2 is not None:
17600
17601
  self.pipeline.knn_tf = KNNAugmentedTransformer(
17601
17602
  vocab_size=self.pipeline.vocab_size, d_model=self.pipeline.transformer_d_model, n_heads=self.pipeline.transformer_heads, num_classes=num_classes,
@@ -17652,19 +17653,28 @@ class PipelinePredictionManager:
17652
17653
  print('[>] Starting kNN Augmented Transformer Training...')
17653
17654
  sequence_ids_train = self.pipeline._features_to_sequence(X_train)
17654
17655
  losses, accs = self.pipeline.knn_tf.train(input_ids_list=sequence_ids_train, y_true_list=y, epochs=self.pipeline.transformer_training_epochs, mode=train_mode, lr=lr, embedded=True, batch_size=batch_size)
17655
- return losses, accs
17656
+ return losses, accs, None
17656
17657
  else:
17657
- print('[>] Returning Transformer probabilities directly...')
17658
+ print('[>] Processing kNN Augmented Transformer probabilities...')
17658
17659
  sequence_ids = self.pipeline._features_to_sequence(X)
17659
17660
  trans_probs, attn_weights = self.pipeline.knn_tf.forward(input_ids=sequence_ids, AME=AME, embedded=use_embedded)
17660
17661
 
17661
- return trans_probs, attn_weights
17662
+ if label_map is None:
17663
+ print('[⚠️] > label_map is None, returning kNN Transformer probabilities without any label mapping...')
17664
+ return trans_probs, attn_weights, None
17665
+ else:
17666
+ trans_pred_indices = np.argmax(trans_probs, axis=-1).tolist()
17667
+ trans_pred_idx = max(set(trans_pred_indices), key=trans_pred_indices.count)
17668
+ predict_confidence = trans_probs[0][trans_pred_idx]
17669
+ prediction = reverse_map.get(trans_pred_idx, 'Unknown')
17670
+ print(f"[=] kNN Augmented Transformer Prediction: {prediction} with probability {predict_confidence:.2%}")
17671
+ return trans_probs, attn_weights, prediction
17662
17672
 
17663
17673
  except Exception as e:
17664
17674
  print(f'[>] Error initating kNN forward Inference: {e}')
17665
17675
  traceback.print_exc()
17666
- return [], []
17667
-
17676
+ return [], [], None
17677
+
17668
17678
 
17669
17679
 
17670
17680
  def regular_prediction_method(self, titles=None, label_map=None, rules=None, X=None, y=None, show_proba=False, top_k=3, batch_size=2, use_transformer=True):
@@ -19304,7 +19314,7 @@ class PipelinePredictionManager:
19304
19314
  print(f"\n[⚠️] Final prediction is {chosen_label} with uncertain confidence: {confidence:.1%}. Consider more consistent data for the model to learn from.")
19305
19315
  else:
19306
19316
  print(f"\n[🎯] Predicted label: {chosen_label} || With Certain Confidence: {confidence:.1%}")
19307
-
19317
+
19308
19318
  return results, chosen_label, confidence
19309
19319
 
19310
19320
  else:
@@ -19652,7 +19662,7 @@ class PipelinePredictionManager:
19652
19662
 
19653
19663
  except Exception as e:
19654
19664
  print(f'[!] Cant check and calibrate probs based on penalty due to: {e}')
19655
-
19665
+
19656
19666
  return final_probs
19657
19667
 
19658
19668