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.
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.egg-info/PKG-INFO +1 -1
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.py +21 -11
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractOptimizedModules.c +200 -200
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/PKG-INFO +1 -1
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/README.md +13 -10
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/pyproject.toml +1 -1
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/setup.py +1 -1
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.egg-info/SOURCES.txt +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.egg-info/dependency_links.txt +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.egg-info/requires.txt +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.egg-info/top_level.txt +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractOptimizedModules.pyx +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/MANIFEST.in +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/Cargo.toml +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/pyproject.toml +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/src/lib.rs +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/debug/build/libsqlite3-sys-ed07b882cd2aa5e2/out/bindgen.rs +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/debug/build/serde_core-ebc15f2e9cad7f5f/out/private.rs +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/debug/build/target-lexicon-08527f45de28143d/out/host.rs +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/release/build/libsqlite3-sys-bf0400df4523274c/out/bindgen.rs +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/release/build/serde_core-5cdb76131825e4af/out/private.rs +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/abstract_model_storage/target/release/build/target-lexicon-43eb95a0588bf457/out/host.rs +0 -0
- {abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/setup.cfg +0 -0
{abstractintegratedmodule-1.2.1 → abstractintegratedmodule-1.2.2}/AbstractIntegratedModule.py
RENAMED
|
@@ -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
|
-
#
|
|
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('[>]
|
|
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
|
-
|
|
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
|
|