sentence-transformers 2.3.0__py3-none-any.whl
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.
- sentence_transformers/LoggingHandler.py +55 -0
- sentence_transformers/SentenceTransformer.py +1158 -0
- sentence_transformers/__init__.py +16 -0
- sentence_transformers/cross_encoder/CrossEncoder.py +373 -0
- sentence_transformers/cross_encoder/__init__.py +3 -0
- sentence_transformers/cross_encoder/evaluation/CEBinaryAccuracyEvaluator.py +78 -0
- sentence_transformers/cross_encoder/evaluation/CEBinaryClassificationEvaluator.py +103 -0
- sentence_transformers/cross_encoder/evaluation/CECorrelationEvaluator.py +65 -0
- sentence_transformers/cross_encoder/evaluation/CERerankingEvaluator.py +97 -0
- sentence_transformers/cross_encoder/evaluation/CESoftmaxAccuracyEvaluator.py +68 -0
- sentence_transformers/cross_encoder/evaluation/__init__.py +13 -0
- sentence_transformers/datasets/DenoisingAutoEncoderDataset.py +42 -0
- sentence_transformers/datasets/NoDuplicatesDataLoader.py +44 -0
- sentence_transformers/datasets/ParallelSentencesDataset.py +183 -0
- sentence_transformers/datasets/SentenceLabelDataset.py +104 -0
- sentence_transformers/datasets/SentencesDataset.py +20 -0
- sentence_transformers/datasets/__init__.py +13 -0
- sentence_transformers/evaluation/BinaryClassificationEvaluator.py +256 -0
- sentence_transformers/evaluation/EmbeddingSimilarityEvaluator.py +183 -0
- sentence_transformers/evaluation/InformationRetrievalEvaluator.py +344 -0
- sentence_transformers/evaluation/LabelAccuracyEvaluator.py +81 -0
- sentence_transformers/evaluation/MSEEvaluator.py +84 -0
- sentence_transformers/evaluation/MSEEvaluatorFromDataFrame.py +95 -0
- sentence_transformers/evaluation/ParaphraseMiningEvaluator.py +191 -0
- sentence_transformers/evaluation/RerankingEvaluator.py +243 -0
- sentence_transformers/evaluation/SentenceEvaluator.py +27 -0
- sentence_transformers/evaluation/SequentialEvaluator.py +22 -0
- sentence_transformers/evaluation/SimilarityFunction.py +8 -0
- sentence_transformers/evaluation/TranslationEvaluator.py +132 -0
- sentence_transformers/evaluation/TripletEvaluator.py +149 -0
- sentence_transformers/evaluation/__init__.py +29 -0
- sentence_transformers/losses/BatchAllTripletLoss.py +91 -0
- sentence_transformers/losses/BatchHardSoftMarginTripletLoss.py +90 -0
- sentence_transformers/losses/BatchHardTripletLoss.py +205 -0
- sentence_transformers/losses/BatchSemiHardTripletLoss.py +120 -0
- sentence_transformers/losses/CachedMultipleNegativesRankingLoss.py +211 -0
- sentence_transformers/losses/ContrastiveLoss.py +77 -0
- sentence_transformers/losses/ContrastiveTensionLoss.py +112 -0
- sentence_transformers/losses/CosineSimilarityLoss.py +41 -0
- sentence_transformers/losses/DenoisingAutoEncoderLoss.py +121 -0
- sentence_transformers/losses/MSELoss.py +24 -0
- sentence_transformers/losses/MarginMSELoss.py +34 -0
- sentence_transformers/losses/MegaBatchMarginLoss.py +111 -0
- sentence_transformers/losses/MultipleNegativesRankingLoss.py +65 -0
- sentence_transformers/losses/MultipleNegativesSymmetricRankingLoss.py +62 -0
- sentence_transformers/losses/OnlineContrastiveLoss.py +57 -0
- sentence_transformers/losses/SoftmaxLoss.py +90 -0
- sentence_transformers/losses/TripletLoss.py +72 -0
- sentence_transformers/losses/__init__.py +48 -0
- sentence_transformers/model_card_templates.py +184 -0
- sentence_transformers/models/Asym.py +128 -0
- sentence_transformers/models/BoW.py +95 -0
- sentence_transformers/models/CLIPModel.py +80 -0
- sentence_transformers/models/CNN.py +75 -0
- sentence_transformers/models/Dense.py +79 -0
- sentence_transformers/models/Dropout.py +33 -0
- sentence_transformers/models/LSTM.py +77 -0
- sentence_transformers/models/LayerNorm.py +37 -0
- sentence_transformers/models/Normalize.py +24 -0
- sentence_transformers/models/Pooling.py +198 -0
- sentence_transformers/models/Transformer.py +187 -0
- sentence_transformers/models/WeightedLayerPooling.py +61 -0
- sentence_transformers/models/WordEmbeddings.py +164 -0
- sentence_transformers/models/WordWeights.py +81 -0
- sentence_transformers/models/__init__.py +31 -0
- sentence_transformers/models/tokenizer/PhraseTokenizer.py +114 -0
- sentence_transformers/models/tokenizer/WhitespaceTokenizer.py +75 -0
- sentence_transformers/models/tokenizer/WordTokenizer.py +414 -0
- sentence_transformers/models/tokenizer/__init__.py +5 -0
- sentence_transformers/readers/InputExample.py +26 -0
- sentence_transformers/readers/LabelSentenceReader.py +37 -0
- sentence_transformers/readers/NLIDataReader.py +46 -0
- sentence_transformers/readers/PairedFilesReader.py +45 -0
- sentence_transformers/readers/STSDataReader.py +89 -0
- sentence_transformers/readers/TripletReader.py +50 -0
- sentence_transformers/readers/__init__.py +14 -0
- sentence_transformers/util.py +558 -0
- sentence_transformers-2.3.0.dist-info/LICENSE +201 -0
- sentence_transformers-2.3.0.dist-info/METADATA +212 -0
- sentence_transformers-2.3.0.dist-info/NOTICE.txt +5 -0
- sentence_transformers-2.3.0.dist-info/RECORD +83 -0
- sentence_transformers-2.3.0.dist-info/WHEEL +5 -0
- sentence_transformers-2.3.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import tqdm
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class LoggingHandler(logging.Handler):
|
|
6
|
+
def __init__(self, level=logging.NOTSET):
|
|
7
|
+
super().__init__(level)
|
|
8
|
+
|
|
9
|
+
def emit(self, record):
|
|
10
|
+
try:
|
|
11
|
+
msg = self.format(record)
|
|
12
|
+
tqdm.tqdm.write(msg)
|
|
13
|
+
self.flush()
|
|
14
|
+
except (KeyboardInterrupt, SystemExit):
|
|
15
|
+
raise
|
|
16
|
+
except Exception:
|
|
17
|
+
self.handleError(record)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def install_logger(given_logger, level=logging.WARNING, fmt="%(levelname)s:%(name)s:%(message)s"):
|
|
21
|
+
"""Configures the given logger; format, logging level, style, etc"""
|
|
22
|
+
import coloredlogs
|
|
23
|
+
|
|
24
|
+
def add_notice_log_level():
|
|
25
|
+
"""Creates a new 'notice' logging level"""
|
|
26
|
+
# inspired by:
|
|
27
|
+
# https://stackoverflow.com/questions/2183233/how-to-add-a-custom-loglevel-to-pythons-logging-facility
|
|
28
|
+
NOTICE_LEVEL_NUM = 25
|
|
29
|
+
logging.addLevelName(NOTICE_LEVEL_NUM, "NOTICE")
|
|
30
|
+
|
|
31
|
+
def notice(self, message, *args, **kws):
|
|
32
|
+
if self.isEnabledFor(NOTICE_LEVEL_NUM):
|
|
33
|
+
self._log(NOTICE_LEVEL_NUM, message, args, **kws)
|
|
34
|
+
|
|
35
|
+
logging.Logger.notice = notice
|
|
36
|
+
|
|
37
|
+
# Add an extra logging level above INFO and below WARNING
|
|
38
|
+
add_notice_log_level()
|
|
39
|
+
|
|
40
|
+
# More style info at:
|
|
41
|
+
# https://coloredlogs.readthedocs.io/en/latest/api.html
|
|
42
|
+
field_styles = coloredlogs.DEFAULT_FIELD_STYLES.copy()
|
|
43
|
+
field_styles["asctime"] = {}
|
|
44
|
+
level_styles = coloredlogs.DEFAULT_LEVEL_STYLES.copy()
|
|
45
|
+
level_styles["debug"] = {"color": "white", "faint": True}
|
|
46
|
+
level_styles["notice"] = {"color": "cyan", "bold": True}
|
|
47
|
+
|
|
48
|
+
coloredlogs.install(
|
|
49
|
+
logger=given_logger,
|
|
50
|
+
level=level,
|
|
51
|
+
use_chroot=False,
|
|
52
|
+
fmt=fmt,
|
|
53
|
+
level_styles=level_styles,
|
|
54
|
+
field_styles=field_styles,
|
|
55
|
+
)
|