---
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:200000
- loss:MatryoshkaLoss
- loss:MultipleNegativesRankingLoss
base_model: BAAI/bge-base-en-v1.5
widget:
- source_sentence: Sets the global variables $rects and $origRectSpecs
sentences:
- "def modify_ranking(tournament):\n database = TinyDB('db.json')\n # recuperation\
\ de tous les joueurs du tournoi\n players_table = database.table('players')\n\
\ list_players = get_player_list(tournament)\n # Modification du rang joueur\
\ par joueur\n for player in list_players:\n new_ranking = view.modify_ranking_view(player)\n\
\ players_table.update({'Classement': new_ranking}, doc_ids=[player.doc_id])"
- "function setConstants() {\n const wrapItems = \".image-analysis-wrapper\
\ .face-wrap, .image-analysis-wrapper .score-wrap, .image-analysis-wrapper .attribute-wrap,\
\ .image-analysis-wrapper .region-block, .image-analysis-wrapper .region-block\
\ .word-block .word-wrap\";\n\n $rects = jQuery(\".image-analysis-wrapper\
\ .rectangle\");\n\n // Iterate over each rectangle and save the width,\
\ height, top position,\n // left position, closest stats block element,\
\ and position of the closest\n // stats block element to an object. Each\
\ object is then added to the \n // $origRectSpecs array for global use.\n\
\ $origRectSpecs = $rects.map(function () {\n closestWrapItems\
\ = jQuery(this).siblings(wrapItems);\n\n const stats = closestWrapItems.map(function\
\ () {\n return {\n origStatTop: jQuery(this).position().top\
\ || parseInt(jQuery(this).css(\"top\")),\n origStatLeft: jQuery(this).position().left\
\ || parseInt(jQuery(this).css(\"left\"))\n }\n })\n\
\n return {\n origRectWidth: jQuery(this).width(),\n\
\ origRectHeight: jQuery(this).height(),\n origRectTop:\
\ jQuery(this).position().top || parseInt(jQuery(this).css(\"top\")), // if the\
\ rect is on a tab that is currently not displayed it has a position of 0, so\
\ this check gets the css instead so we don't lose the value\n \
\ origRectLeft: jQuery(this).position().left || parseInt(jQuery(this).css(\"left\"\
)),\n statBlock: closestWrapItems[0],\n statPosition:\
\ stats[0]\n }\n })\n }"
- "reset() {\n\n // Set the initial crop to match any given fixed aspect\
\ ratio (or\n // default to a square crop 1:1).\n let aspectRatio\
\ = this._initialAspectRatio\n\n // Calculate the initial crop size such\
\ that it fits within the bounds\n let width = getWidth(this.bounds)\n\
\ let height = getWidth(this.bounds) / aspectRatio\n\n if (aspectRatio\
\ < width / getHeight(this.bounds)) {\n width = getHeight(this.bounds)\
\ * aspectRatio\n height = getHeight(this.bounds)\n }\n\n \
\ // Calculate the initial crop position to be central to the bounds\n \
\ const x = (getWidth(this.bounds) - width) / 2\n const y = (getHeight(this.bounds)\
\ - height) / 2\n\n // Set the region\n this.region = [\n \
\ [x, y],\n [x + width, y + height]\n ]\n }"
- source_sentence: Returns true if the motor is at its lower limit.
sentences:
- "def is_lower_limit(self):\n is_lower = self.get_raw_status() & self.STATUS_LLIM\n\
\ return bool(is_lower)"
- "def testLowerBound(self,time,accel):\n\t\tif (time - self.timestamp) > ParserSettings.TIME_DELTA:#tests\
\ lockout threshold of a flick event\n\t\t\tif accel > self.lower:#tests to see\
\ if the flick maximum is met yet, relative to the previous magnitude\n\t\t\t\t\
self.timestamp \t= time#set appropriate values when flick triggered\n\t\t\t\t\
toReturn \t\t= self.lower\n\t\t\t\tself.lower\t \t= 0#reset flick for next magnitude\
\ test\n\t\t\t\treturn toReturn\n\t\t\telse:\n\t\t\t\tself.lower = accel#if no\
\ flick yet, update most recent flick to test\n\t\t\t\treturn 0\n\t\telse:\n\t\
\t\treturn 0"
- "function checkVisibility(message)\n{\n\t// Scroll the view down a certain amount\n\
\t$chatlogs.stop().animate({scrollTop: $chatlogs[0].scrollHeight});\n}"
- source_sentence: Extracts an object of params the given route cares about from the
given params object.
sentences:
- "function getRouteParams(route, params) {\n\t var routeParams = {};\n\t\n\t \
\ if (!route.path) return routeParams;\n\t\n\t (0, _PatternUtils.getParamNames)(route.path).forEach(function\
\ (p) {\n\t if (Object.prototype.hasOwnProperty.call(params, p)) {\n\t \
\ routeParams[p] = params[p];\n\t }\n\t });\n\t\n\t return routeParams;\n\
\t}"
- "public static void initImageLoader(Context context) {\n\t\tFile cacheDir = StorageUtils.getCacheDirectory(context);\n\
\t\tImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)\n\
\t\t\t\t.threadPriority(Thread.NORM_PRIORITY - 2)\n\t\t\t\t.denyCacheImageMultipleSizesInMemory()\
\ \n//\t\t\t\t.discCache(new UnlimitedDiscCache(cacheDir)) // default\n\t\t\t\t\
.discCacheFileNameGenerator(new Md5FileNameGenerator())\n\t\t\t\t.memoryCache(new\
\ LruMemoryCache(2 * 1024 * 1024))\n\t\t\t\t.tasksProcessingOrder(QueueProcessingType.LIFO)\n\
\t\t\t\t.writeDebugLogs() // Remove for release app\t\t\t\t\n\t\t\t\t.build();\n\
\t\t// Initialize ImageLoader with configuration.\n\t\tImageLoader.getInstance().init(config);\n\
\t}"
- "function getRouteParams(route, params) {\n\t var routeParams = {};\n\n\t if\
\ (!route.path) return routeParams;\n\n\t (0, _PatternUtils.getParamNames)(route.path).forEach(function\
\ (p) {\n\t if (Object.prototype.hasOwnProperty.call(params, p)) {\n\t \
\ routeParams[p] = params[p];\n\t }\n\t });\n\n\t return routeParams;\n\t\
}"
- source_sentence: select all as they all have a class of "section" return array of
IDs
sentences:
- "func (o *BookBuyOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer)\
\ {\n\n\trw.WriteHeader(200)\n\tif o.Payload != nil {\n\t\tpayload := o.Payload\n\
\t\tif err := producer.Produce(rw, payload); err != nil {\n\t\t\tpanic(err) //\
\ let the recovery middleware deal with this\n\t\t}\n\t}\n}"
- "function getMenuCLassesIDs()\n {\n let IdsArray = [];\n const\
\ elements = document.querySelectorAll('.banner,.section');\n for(const\
\ elm of elements)\n {\n IdsArray.push(elm.id);\n \
\ }\n \n return IdsArray;\n }"
- "getAllSectionsForRegion(region) {\n if (!region) {\n return\
\ null;\n }\n return region.getElementsByClassName(A11yClassNames.SECTION);\n\
\ }"
- source_sentence: For component xyz, returns "xyz[]"
sentences:
- "public String toString() {\n\t \tif(size == 0) {\n\t \t\treturn \"[]\"\
;\n\t \t}else {\n\t \t\t\n\t \t\tString result = \"[\" + elementData[0];\n\
\t \t\tfor(int i = 1; i < size; i++) {\n\t \t\t\tresult += \", \" + elementData[i];\n\
\t \t\t}\n\t \t\t\n\t \t\tresult += \"]\";\n\t \t\t\n\t \t\treturn\
\ result;\n\t \t}\n\t }"
- "def masterPath(self):\n\t\treturn fl.File( self._path + '/master.data' )"
- "private static final String getArrayTypeName(String typeName) {\n final String\
\ arrayTypeName = builtInArrayComponentName2ArrayTypeName.get(typeName);\n \
\ return (null == arrayTypeName) ? typeName + ARRAY_TYPE_SUFFIX : arrayTypeName;\n\
\ }"
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
- cosine_accuracy@1
- cosine_accuracy@5
- cosine_accuracy@10
- cosine_precision@1
- cosine_precision@3
- cosine_precision@5
- cosine_precision@10
- cosine_recall@1
- cosine_recall@3
- cosine_recall@5
- cosine_recall@10
- cosine_ndcg@10
- cosine_mrr@1
- cosine_mrr@5
- cosine_mrr@10
- cosine_map@100
model-index:
- name: SentenceTransformer based on BAAI/bge-base-en-v1.5
results:
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: cornstack eval
type: cornstack_eval
metrics:
- type: cosine_accuracy@1
value: 0.718
name: Cosine Accuracy@1
- type: cosine_accuracy@5
value: 0.884
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.924
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.718
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.2866666666666666
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.1768
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.09240000000000001
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.718
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.86
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.884
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.924
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.8259696432548304
name: Cosine Ndcg@10
- type: cosine_mrr@1
value: 0.718
name: Cosine Mrr@1
- type: cosine_mrr@5
value: 0.7882666666666666
name: Cosine Mrr@5
- type: cosine_mrr@10
value: 0.7940396825396825
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.7967267778119025
name: Cosine Map@100
---
# SentenceTransformer based on BAAI/bge-base-en-v1.5
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5). It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for retrieval.
## Model Details
### Model Description
- **Model Type:** Sentence Transformer
- **Base model:** [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5)
- **Maximum Sequence Length:** 384 tokens
- **Output Dimensionality:** 768 dimensions
- **Similarity Function:** Cosine Similarity
- **Supported Modality:** Text
### Model Sources
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/huggingface/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
### Full Model Architecture
```
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
(1): Pooling({'embedding_dimension': 768, 'pooling_mode': 'cls', 'include_prompt': True})
(2): Normalize({})
)
```
## Usage
### Direct Usage (Sentence Transformers)
First install the Sentence Transformers library:
```bash
pip install -U sentence-transformers
```
Then you can load this model and run inference.
```python
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("sentence_transformers_model_id")
# Run inference
queries = [
'For component xyz, returns "xyz[]"',
]
documents = [
'private static final String getArrayTypeName(String typeName) {\n final String arrayTypeName = builtInArrayComponentName2ArrayTypeName.get(typeName);\n return (null == arrayTypeName) ? typeName + ARRAY_TYPE_SUFFIX : arrayTypeName;\n }',
'public String toString() {\n\t \tif(size == 0) {\n\t \t\treturn "[]";\n\t \t}else {\n\t \t\t\n\t \t\tString result = "[" + elementData[0];\n\t \t\tfor(int i = 1; i < size; i++) {\n\t \t\t\tresult += ", " + elementData[i];\n\t \t\t}\n\t \t\t\n\t \t\tresult += "]";\n\t \t\t\n\t \t\treturn result;\n\t \t}\n\t }',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 768] [2, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.4454, 0.3780]])
```
## Evaluation
### Metrics
#### Information Retrieval
* Dataset: `cornstack_eval`
* Evaluated with [InformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.sentence_transformer.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:--------------------|:----------|
| cosine_accuracy@1 | 0.718 |
| cosine_accuracy@5 | 0.884 |
| cosine_accuracy@10 | 0.924 |
| cosine_precision@1 | 0.718 |
| cosine_precision@3 | 0.2867 |
| cosine_precision@5 | 0.1768 |
| cosine_precision@10 | 0.0924 |
| cosine_recall@1 | 0.718 |
| cosine_recall@3 | 0.86 |
| cosine_recall@5 | 0.884 |
| cosine_recall@10 | 0.924 |
| **cosine_ndcg@10** | **0.826** |
| cosine_mrr@1 | 0.718 |
| cosine_mrr@5 | 0.7883 |
| cosine_mrr@10 | 0.794 |
| cosine_map@100 | 0.7967 |
## Training Details
### Training Dataset
#### Unnamed Dataset
* Size: 200,000 training samples
* Columns: anchor, positive, and negative
* Approximate statistics based on the first 100 samples:
| | anchor | positive | negative |
|:---------|:-----------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|
| type | string | string | string |
| modality | text | text | text |
| details |
Fades all outputs to the given color and waits for it to complete. | def FadeOutputs(box, color, steps=50):
for output in box:
output.Fade(color=color, steps=steps)
time.sleep(steps / (float(box.frequency) / len(box))) | def _colour_loop(self, colours, seconds=None, milliseconds=None, fade=True):
colours = self.convert_to_colour_list(colours) #Forces a list of colours into an actual python list
if len(colours)<2:
colours.append("#000000") #Blink between black and the specified colour if only one provided
#Start with the first colour immediately:
if fade:
self.fade(colours[0])
else:
self.set(colours[0])
step_time = self.clean_time_in_milliseconds(seconds, milliseconds, default_seconds=1, minimum_milliseconds=50)
#Do the loop
i = 1 #We're moving to the second colour now
total_colours = len(colours)
while not self._sequence_stop_signal:
#Resolve our colour
next_colour = colours[i]
i = (i+1) % total_colours #ensures we are never asking for more colours than provided
if fade: #Fading is a blocking process, thus we let the fade l... |
| Sets the additional element count if buffer resize is required, defaults to initialElementCount of factory method. | public void setResizeElementCount(int v) { vboSet.setResizeElementCount(v); } | public int getResizeElementCount() { return vboSet.getResizeElementCount(); } |
| delete a specific incident | def delete_specific_incident(self, incident_id):
self.cursor.execute("""DELETE FROM incidents WHERE incident_id ='%s' AND status='draft'
""" %(incident_id))
self.commiting()
return incident_id | def delete(openstack_resource):
openstack_resource.delete() |
* Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters:
```json
{
"loss": "MultipleNegativesRankingLoss",
"matryoshka_dims": [
768,
512,
256,
128
],
"matryoshka_weights": [
1.0,
1.0,
1.0,
1.0
],
"n_dims_per_step": -1
}
```
### Training Hyperparameters
#### Non-Default Hyperparameters
- `per_device_train_batch_size`: 16
- `gradient_accumulation_steps`: 4
- `learning_rate`: 2e-05
- `num_train_epochs`: 1
- `warmup_ratio`: 0.05
- `fp16`: True
- `batch_sampler`: no_duplicates
#### All Hyperparameters