|
---
|
|
base_model: distilbert/distilbert-base-uncased-finetuned-sst-2-english
|
|
library_name: sentence-transformers
|
|
metrics:
|
|
- pearson_cosine
|
|
- spearman_cosine
|
|
- pearson_manhattan
|
|
- spearman_manhattan
|
|
- pearson_euclidean
|
|
- spearman_euclidean
|
|
- pearson_dot
|
|
- spearman_dot
|
|
- pearson_max
|
|
- spearman_max
|
|
pipeline_tag: sentence-similarity
|
|
tags:
|
|
- sentence-transformers
|
|
- sentence-similarity
|
|
- feature-extraction
|
|
- generated_from_trainer
|
|
- dataset_size:302
|
|
- loss:CosineSimilarityLoss
|
|
widget:
|
|
- source_sentence: "interface Input {\n id: number;\n title: string;\n parent_id:\
|
|
\ number | null; \n}\n\ninterface Output extends Input {\n children?: Output[];\
|
|
\ \n}\n\nfunction doJob(inputItems: Input[], parent_id?: number) {\n const outputItems:\
|
|
\ Output[] = [];\n\n for (let i = 0; i < inputItems.length; i++) {\n const\
|
|
\ children = doJob(inputItems.slice(i, inputItems.length), inputItems[i].parent_id)\n\
|
|
\ .filter(i => i.parent_id === parent_id);\n \n outputItems.push({...item,\
|
|
\ children});\n }\n\n return outputItems;\n}"
|
|
sentences:
|
|
- "interface Task {\n id: number;\n title: string;\n parent_id: number\
|
|
\ | null;\n children?: Task[];\n}\n\nfunction buildTaskTree(tasks: Task[]):\
|
|
\ Task[] {\n const tasksMap = tasks.reduce((acc, task) => {\n acc[task.id]\
|
|
\ = { ...task, children: [] };\n return acc;\n }, {} as { [key: number]:\
|
|
\ Task });\n\n const rootTasks: Task[] = [];\n\n tasks.forEach(task => {\n\
|
|
\ const { id, parent_id } = task;\n if (parent_id === null) {\n\
|
|
\ rootTasks.push(tasksMap[id]);\n } else {\n if (tasksMap[parent_id])\
|
|
\ {\n tasksMap[parent_id].children.push(tasksMap[id]);\n \
|
|
\ }\n }\n });\n\n return rootTasks;\n}\n\n// Test the function\
|
|
\ with the provided example\nconst inputTasks: Task[] = [\n { id: 1, title:\
|
|
\ 'Task 1', parent_id: null },\n { id: 2, title: 'Task 2', parent_id: 1 },\n\
|
|
\ { id: 3, title: 'Task 3', parent_id: 1 }\n];\nconst outputTasks: Task[] =\
|
|
\ buildTaskTree(inputTasks);\nconsole.log(outputTasks);\n"
|
|
- "const http = require('http');\n\nasync function checkUrlsStatus(urls) {\n \
|
|
\ const statusObj = {};\n\n const getStatus = async (url) => {\n return\
|
|
\ new Promise((resolve) => {\n http.get(url, (res) => {\n \
|
|
\ resolve(res.statusCode);\n }).on('error', (error) => {\n \
|
|
\ resolve(500); // Internal Server Error\n });\n \
|
|
\ });\n };\n\n await Promise.all(urls.map(async (url) => {\n const\
|
|
\ status = await getStatus(url);\n statusObj[url] = status;\n }));\n\
|
|
\n return statusObj;\n}\n\n// Example\nconst urls = ['https://example.com',\
|
|
\ 'https://google.com'];\ncheckUrlsStatus(urls)\n .then((result) => {\n \
|
|
\ console.log(result);\n })\n .catch((error) => {\n console.error(error);\n\
|
|
\ });\n\nmodule.exports = checkUrlsStatus;\n"
|
|
- "def find_longest_word(words):\n max_length = 0\n longest_word = ''\n\n\
|
|
\ for word in words:\n if len(word) > max_length:\n max_length\
|
|
\ = len(word)\n longest_word = word\n\n return longest_word, max_length\n\
|
|
\n# Test cases\nprint(find_longest_word(['hello', 'world', 'python', 'programming']))\
|
|
\ # Output: ('programming', 11)\nprint(find_longest_word(['short', 'longer',\
|
|
\ 'longest', 'size'])) # Output: ('longest', 7)\n"
|
|
- source_sentence: "// inventory.module.ts\nimport { Module } from '@nestjs/common';\n\
|
|
import { InventoryService } from './inventory.service';\nimport { InventoryController\
|
|
\ } from './inventory.controller';\nimport { TypeOrmModule } from '@nestjs/typeorm';\n\
|
|
import { Product } from './product.entity';\n@Module({\n imports: [TypeOrmModule.forFeature([Product])],\n\
|
|
\ providers: [InventoryService],\n controllers: [InventoryController],\n})\n\
|
|
export class InventoryModule {}\n// inventory.service.ts\nimport { Injectable\
|
|
\ } from '@nestjs/common';\nimport { InjectRepository } from '@nestjs/typeorm';\n\
|
|
import { Product } from './product.entity';\nimport { CreateProductDto, UpdateProductDto\
|
|
\ } from './product.dto';\n\n@Injectable()\nexport class InventoryService {\n\
|
|
\ constructor(\n @InjectRepository(Product)\n private readonly productRepository:\
|
|
\ Repository<Product>,\n ) {}\n\n async createProduct(createProductDto: CreateProductDto):\
|
|
\ Promise<Product> {\n const newProduct = new Product();\n newProduct.name\
|
|
\ = createProductDto.name;\n newProduct.description = createProductDto.description;\n\
|
|
\ newProduct.price = createProductDto.price;\n newProduct.availableQuantity\
|
|
\ = createProductDto.availableQuantity;\n\n return await this.productRepository.save(newProduct);\n\
|
|
\ }\n\n async updateProduct(\n productId: number,\n updateProductDto:\
|
|
\ UpdateProductDto,\n ): Promise<Product> {\n const product = await this.productRepository.findOne(productId);\n\
|
|
\ if (!product) {\n throw new NotFoundException('Product not found');\n\
|
|
\ }\n\n product.name = updateProductDto.name || product.name;\n product.description\
|
|
\ = updateProductDto.description || product.description;\n product.price =\
|
|
\ updateProductDto.price || product.price;\n product.availableQuantity =\n\
|
|
\ updateProductDto.availableQuantity || product.availableQuantity;\n\n \
|
|
\ return await this.productRepository.save(product);\n }\n\n async findAllProducts():\
|
|
\ Promise<Product[]> {\n return await this.productRepository.find();\n }\n\
|
|
\n async getProductById(productId: number): Promise<Product> {\n const product\
|
|
\ = await this.productRepository.findOne(productId);\n if (!product) {\n \
|
|
\ throw new NotFoundException('Product not found');\n }\n return product;\n\
|
|
\ }\n\n async checkProductAvailability(productId: number, quantity: number):\
|
|
\ Promise<boolean> {\n const product = await this.productRepository.findOne(productId);\n\
|
|
\ if (!product) {\n throw new NotFoundException('Product not found');\n\
|
|
\ }\n return product.availableQuantity >= quantity;\n }\n}"
|
|
sentences:
|
|
- "// inventory.dto.ts\nimport { IsInt, IsNotEmpty, IsNumber, IsString, Min } from\
|
|
\ 'class-validator';\n\nexport class ProductDto {\n @IsString()\n @IsNotEmpty()\n\
|
|
\ id: string;\n\n @IsString()\n @IsNotEmpty()\n name: string;\n\n @IsString()\n\
|
|
\ description: string;\n\n @IsNumber()\n @IsNotEmpty()\n price: number;\n\n\
|
|
\ @IsInt()\n @Min(0)\n @IsNotEmpty()\n availableQuantity: number;\n}\n\n//\
|
|
\ inventory.interface.ts\nexport interface Product {\n id: string;\n name: string;\n\
|
|
\ description: string;\n price: number;\n availableQuantity: number;\n}\n\n\
|
|
// inventory.module.ts\nimport { Module } from '@nestjs/common';\nimport { TypeOrmModule\
|
|
\ } from '@nestjs/typeorm';\nimport { InventoryController } from './inventory.controller';\n\
|
|
import { InventoryService } from './inventory.service';\nimport { Product } from\
|
|
\ './product.entity';\n\n@Module({\n imports: [TypeOrmModule.forFeature([Product])],\n\
|
|
\ controllers: [InventoryController],\n providers: [InventoryService]\n})\n\
|
|
export class InventoryModule {} \n\n// product.entity.ts\nimport { Entity, Column,\
|
|
\ PrimaryGeneratedColumn } from 'typeorm';\n\n@Entity()\nexport class Product\
|
|
\ {\n @PrimaryGeneratedColumn()\n id: number;\n\n @Column()\n name: string;\n\
|
|
\n @Column()\n description: string;\n\n @Column('decimal')\n price: number;\n\
|
|
\n @Column()\n availableQuantity: number;\n}\n\n// inventory.controller.ts\n\
|
|
import { Controller, Get, Post, Put, Body, Param } from '@nestjs/common';\nimport\
|
|
\ { InventoryService } from './inventory.service';\nimport { ProductDto } from\
|
|
\ './inventory.dto';\n\n@Controller('inventory')\nexport class InventoryController\
|
|
\ {\n constructor(private readonly inventoryService: InventoryService) {}\n\n\
|
|
\ @Post('add-product')\n async addProduct(@Body() productDto: ProductDto) {\n\
|
|
\ return this.inventoryService.addProduct(productDto);\n }\n\n @Get('products')\n\
|
|
\ async getProducts() {\n return this.inventoryService.getProducts();\n }\n\
|
|
\n @Put('update-quantity/:id')\n async updateQuantity(@Param('id') id: string,\
|
|
\ @Body('quantity') quantity: number) {\n return this.inventoryService.updateQuantity(id,\
|
|
\ quantity);\n }\n}\n\n// inventory.service.ts\nimport { Injectable } from '@nestjs/common';\n\
|
|
import { InjectRepository } from '@nestjs/typeorm';\nimport { Repository } from\
|
|
\ 'typeorm';\nimport { Product } from './product.entity';\nimport { ProductDto\
|
|
\ } from './inventory.dto';\n\n@Injectable()\nexport class InventoryService {\n\
|
|
\ constructor(\n @InjectRepository(Product)\n private productRepository:\
|
|
\ Repository<Product>,\n ) {}\n\n async addProduct(productDto: ProductDto):\
|
|
\ Promise<Product> {\n const newProduct = this.productRepository.create(productDto);\n\
|
|
\ return this.productRepository.save(newProduct);\n }\n\n async getProducts():\
|
|
\ Promise<Product[]> {\n return this.productRepository.find();\n }\n\n async\
|
|
\ updateQuantity(id: string, quantity: number): Promise<Product> {\n const\
|
|
\ product = await this.productRepository.findOne(id);\n if (!product) {\n \
|
|
\ throw new Error('Product not found');\n }\n\n product.availableQuantity\
|
|
\ = quantity;\n return this.productRepository.save(product);\n }\n}\n"
|
|
- "def move_zeros_to_end(lst):\n zero_count = 0\n for i in range(len(lst)):\n\
|
|
\ if lst[i] != 0:\n lst[i], lst[zero_count] = lst[zero_count],\
|
|
\ lst[i]\n zero_count += 1\n\n# Test cases\nlst1 = [0, 1, 0, 3, 12]\n\
|
|
move_zeros_to_end(lst1)\nprint(lst1) # Output: [1, 3, 12, 0, 0]\n\nlst2 = [0,\
|
|
\ 0, 1]\nmove_zeros_to_end(lst2)\nprint(lst2) # Output: [1, 0, 0]\n"
|
|
- "// inventory.dto.ts\nimport { IsInt, IsNotEmpty, IsNumber, IsString, Min } from\
|
|
\ 'class-validator';\n\nexport class ProductDto {\n @IsString()\n @IsNotEmpty()\n\
|
|
\ id: string;\n\n @IsString()\n @IsNotEmpty()\n name: string;\n\n @IsString()\n\
|
|
\ description: string;\n\n @IsNumber()\n @IsNotEmpty()\n price: number;\n\n\
|
|
\ @IsInt()\n @Min(0)\n @IsNotEmpty()\n availableQuantity: number;\n}\n\n//\
|
|
\ inventory.interface.ts\nexport interface Product {\n id: string;\n name: string;\n\
|
|
\ description: string;\n price: number;\n availableQuantity: number;\n}\n\n\
|
|
// inventory.module.ts\nimport { Module } from '@nestjs/common';\nimport { TypeOrmModule\
|
|
\ } from '@nestjs/typeorm';\nimport { InventoryController } from './inventory.controller';\n\
|
|
import { InventoryService } from './inventory.service';\nimport { Product } from\
|
|
\ './product.entity';\n\n@Module({\n imports: [TypeOrmModule.forFeature([Product])],\n\
|
|
\ controllers: [InventoryController],\n providers: [InventoryService]\n})\n\
|
|
export class InventoryModule {} \n\n// product.entity.ts\nimport { Entity, Column,\
|
|
\ PrimaryGeneratedColumn } from 'typeorm';\n\n@Entity()\nexport class Product\
|
|
\ {\n @PrimaryGeneratedColumn()\n id: number;\n\n @Column()\n name: string;\n\
|
|
\n @Column()\n description: string;\n\n @Column('decimal')\n price: number;\n\
|
|
\n @Column()\n availableQuantity: number;\n}\n\n// inventory.controller.ts\n\
|
|
import { Controller, Get, Post, Put, Body, Param } from '@nestjs/common';\nimport\
|
|
\ { InventoryService } from './inventory.service';\nimport { ProductDto } from\
|
|
\ './inventory.dto';\n\n@Controller('inventory')\nexport class InventoryController\
|
|
\ {\n constructor(private readonly inventoryService: InventoryService) {}\n\n\
|
|
\ @Post('add-product')\n async addProduct(@Body() productDto: ProductDto) {\n\
|
|
\ return this.inventoryService.addProduct(productDto);\n }\n\n @Get('products')\n\
|
|
\ async getProducts() {\n return this.inventoryService.getProducts();\n }\n\
|
|
\n @Put('update-quantity/:id')\n async updateQuantity(@Param('id') id: string,\
|
|
\ @Body('quantity') quantity: number) {\n return this.inventoryService.updateQuantity(id,\
|
|
\ quantity);\n }\n}\n\n// inventory.service.ts\nimport { Injectable } from '@nestjs/common';\n\
|
|
import { InjectRepository } from '@nestjs/typeorm';\nimport { Repository } from\
|
|
\ 'typeorm';\nimport { Product } from './product.entity';\nimport { ProductDto\
|
|
\ } from './inventory.dto';\n\n@Injectable()\nexport class InventoryService {\n\
|
|
\ constructor(\n @InjectRepository(Product)\n private productRepository:\
|
|
\ Repository<Product>,\n ) {}\n\n async addProduct(productDto: ProductDto):\
|
|
\ Promise<Product> {\n const newProduct = this.productRepository.create(productDto);\n\
|
|
\ return this.productRepository.save(newProduct);\n }\n\n async getProducts():\
|
|
\ Promise<Product[]> {\n return this.productRepository.find();\n }\n\n async\
|
|
\ updateQuantity(id: string, quantity: number): Promise<Product> {\n const\
|
|
\ product = await this.productRepository.findOne(id);\n if (!product) {\n \
|
|
\ throw new Error('Product not found');\n }\n\n product.availableQuantity\
|
|
\ = quantity;\n return this.productRepository.save(product);\n }\n}\n"
|
|
- source_sentence: "// wage-input.dto.ts\nimport { IsNumber, IsPositive } from 'class-validator';\n\
|
|
\nexport class WageInputDto {\n @IsNumber()\n @IsPositive()\n hourlyWage: number;\n\
|
|
\n @IsNumber()\n @IsPositive()\n hoursWorked: number;\n}\n\n// It will handle\
|
|
\ the input validation too.\n\n\n// employee.controller.ts\nimport { Body, Controller,\
|
|
\ Post } from '@nestjs/common';\nimport { WageInputDto } from './dto/wage-input.dto';\n\
|
|
import { EmployeeService } from './employee.service';\n\n@Controller('employee')\n\
|
|
export class EmployeeController {\n constructor(private readonly employeeService:\
|
|
\ EmployeeService) {}\n\n @Post('/wage')\n async getWage(@Body() input: WageInputDto)\
|
|
\ {\n return this.employeeService.getWage(input);\n }\n}\n\n// employee.service.ts\n\
|
|
import { Injectable } from '@nestjs/common';\nimport { WageInputDto } from './dto/wage-input.dto';\n\
|
|
\nconst WEEKLY_HOURS = 40;\n\n@Injectable()\nexport class EmployeeService {\n\
|
|
\ async getWage(input: WageInputDto) {\n let weeklyHours = 0;\n let overTimeHours\
|
|
\ = 0;\n let weeklyWage = 0;\n\n const hasDoneOverTime = input.hoursWorked\
|
|
\ > WEEKLY_HOURS;\n\n if (hasDoneOverTime) {\n weeklyHours = WEEKLY_HOURS;\n\
|
|
\ overTimeHours = input.hoursWorked - WEEKLY_HOURS;\n } else {\n \
|
|
\ weeklyHours = input.hoursWorked;\n }\n\n weeklyWage = weeklyHours * input.hourlyWage;\n\
|
|
\n if (hasDoneOverTime) {\n weeklyWage = weeklyWage + overTimeHours *\
|
|
\ (input.hourlyWage * 1.5);\n }\n\n return { weeklyWage };\n }\n}"
|
|
sentences:
|
|
- "import { Controller, Post, Body, HttpException, HttpStatus } from '@nestjs/common';\n\
|
|
\ninterface WeeklyWageInput {\n hourlyWage: number;\n hoursWorked: number;\n\
|
|
}\n\n@Controller('calculate-weekly-wage')\nexport class WeeklyWageController {\n\
|
|
\ @Post()\n calculateWeeklyWage(@Body() data: WeeklyWageInput): { weeklyWage:\
|
|
\ number } {\n // Input validation\n if (data.hourlyWage <= 0 || data.hoursWorked\
|
|
\ <= 0 || !Number.isInteger(data.hoursWorked)) {\n throw new HttpException('Invalid\
|
|
\ input. Hourly wage must be positive and hours worked must be a positive integer',\
|
|
\ HttpStatus.BAD_REQUEST);\n }\n\n const regularHours = Math.min(data.hoursWorked,\
|
|
\ 40);\n const overtimeHours = Math.max(data.hoursWorked - 40, 0);\n\n const\
|
|
\ weeklyWage = (regularHours * data.hourlyWage) + (overtimeHours * (1.5 * data.hourlyWage));\n\
|
|
\n return { weeklyWage };\n }\n}\n"
|
|
- "import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'orderBy'\n\
|
|
})\nexport class OrderByPipe implements PipeTransform {\n transform(array: any[],\
|
|
\ key: string, order: 'asc' | 'desc'): any[] {\n if (!Array.isArray(array)\
|
|
\ || !key || (order !== 'asc' && order !== 'desc')) {\n console.error('Invalid\
|
|
\ input data');\n return array;\n }\n\n const compareFn = (a: any,\
|
|
\ b: any): number => {\n if (a[key] < b[key]) {\n return order ===\
|
|
\ 'asc' ? -1 : 1;\n }\n if (a[key] > b[key]) {\n return order\
|
|
\ === 'asc' ? 1 : -1;\n }\n return 0;\n };\n\n return array.slice().sort(compareFn);\n\
|
|
\ }\n}\n"
|
|
- "public class PalindromeChecker {\n public static boolean isPalindrome(String\
|
|
\ str) {\n str = str.toLowerCase().replaceAll(\"[^a-zA-Z0-9]\", \"\");\n\
|
|
\ int left = 0;\n int right = str.length() - 1;\n \n \
|
|
\ while (left < right) {\n if (str.charAt(left) != str.charAt(right))\
|
|
\ {\n return false;\n }\n left++;\n \
|
|
\ right--;\n }\n \n return true;\n }\n \n \
|
|
\ public static void main(String[] args) {\n String input1 = \"A man, a\
|
|
\ plan, a canal: Panama\";\n String input2 = \"race a car\";\n \n\
|
|
\ System.out.println(\"Input: '\" + input1 + \"' Output: \" + isPalindrome(input1));\n\
|
|
\ System.out.println(\"Input: '\" + input2 + \"' Output: \" + isPalindrome(input2));\n\
|
|
\ }\n}\n"
|
|
- source_sentence: 'FROM python:3.8
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
COPY helloworld.py .
|
|
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
CMD ["python", "helloworld.py"]
|
|
|
|
|
|
|
|
## PYTHON PROGRAM
|
|
|
|
helloworld.py
|
|
|
|
print("Hello, World!")
|
|
|
|
|
|
|
|
## BUILD COMMAND
|
|
|
|
docker build -t "python:helloworld" .
|
|
|
|
docker run -itd --name python python:helloworld'
|
|
sentences:
|
|
- '# Use a slim Python base image for optimization
|
|
|
|
FROM python:3.9-slim
|
|
|
|
|
|
# Set the working directory inside the container
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
# Copy the Python script into the container
|
|
|
|
COPY hello.py /app/hello.py
|
|
|
|
|
|
# Define the command to run the Python script
|
|
|
|
CMD ["python", "/app/hello.py"]
|
|
|
|
'
|
|
- "import java.util.HashMap;\n\npublic class Solution {\n public int[] twoSum(int[]\
|
|
\ nums, int target) {\n HashMap<Integer, Integer> map = new HashMap<>();\n\
|
|
\n for (int i = 0; i < nums.length; i++) {\n int complement\
|
|
\ = target - nums[i];\n if (map.containsKey(complement)) {\n \
|
|
\ return new int[]{map.get(complement), i};\n }\n \
|
|
\ map.put(nums[i], i);\n }\n\n return new int[]{};\n }\n}\n\
|
|
\n// Example\nint[] array = new int[]{2, 7, 11, 15};\nint target = 9;\nSolution\
|
|
\ solution = new Solution();\nint[] result = solution.twoSum(array, target);\n"
|
|
- "function stripHtmlTags(input) {\n if (!input) return '';\n\n const tagRegex\
|
|
\ = /<[^>]*>/g;\n return input.replace(tagRegex, '');\n}\n"
|
|
- source_sentence: "def move_zeroes(nums):\n count = 0\n for i in range(len(nums)):\n\
|
|
\ if nums[i] != 0:\n nums[count], nums[i]= nums[i], nums[count]\n \
|
|
\ count += 1\n for i in range(count, len(nums)):\n nums[i] =0\n\ninput =\
|
|
\ [int(x) for x in input(\"Enter integers separated by spaces: \").split()]\n\
|
|
move_zeroes(input)\n\nprint(input)"
|
|
sentences:
|
|
- "import 'package:flutter/material.dart';\nimport 'package:firebase_core/firebase_core.dart';\n\
|
|
import 'package:firebase_auth/firebase_auth.dart';\nimport 'package:firebase_database/firebase_database.dart';\n\
|
|
\nvoid main() async {\n WidgetsFlutterBinding.ensureInitialized();\n await Firebase.initializeApp();\n\
|
|
\ runApp(MyApp());\n}\n\nclass MyApp extends StatelessWidget {\n final databaseRef\
|
|
\ = FirebaseDatabase.instance.reference().child('messages');\n\n @override\n\
|
|
\ Widget build(BuildContext context) {\n return MaterialApp(\n home:\
|
|
\ Scaffold(\n appBar: AppBar(\n title: Text('Real-Time Messages'),\n\
|
|
\ ),\n body: MessagesList(databaseRef: databaseRef),\n floatingActionButton:\
|
|
\ AddMessageButton(databaseRef: databaseRef),\n ),\n );\n }\n}\n\nclass\
|
|
\ MessagesList extends StatelessWidget {\n final DatabaseReference databaseRef;\n\
|
|
\n MessagesList({required this.databaseRef});\n\n @override\n Widget build(BuildContext\
|
|
\ context) {\n return StreamBuilder(\n stream: databaseRef.orderByChild('timestamp').onValue,\n\
|
|
\ builder: (context, snapshot) {\n if (snapshot.hasError) {\n \
|
|
\ return Text('Error: ${snapshot.error}');\n }\n\n if (!snapshot.hasData)\
|
|
\ {\n return Center(child: CircularProgressIndicator());\n }\n\
|
|
\n List<Message> messages = [];\n snapshot.data!.snapshot.value.forEach((key,\
|
|
\ value) {\n messages.add(Message.fromMap(value));\n });\n \
|
|
\ messages.sort((a, b) => a.timestamp.compareTo(b.timestamp));\n\n \
|
|
\ return ListView.builder(\n itemCount: messages.length,\n itemBuilder:\
|
|
\ (context, index) {\n return ListTile(\n title: Text(messages[index].text),\n\
|
|
\ );\n },\n );\n },\n );\n }\n}\n\nclass AddMessageButton\
|
|
\ extends StatelessWidget {\n final DatabaseReference databaseRef;\n\n AddMessageButton({required\
|
|
\ this.databaseRef});\n\n @override\n Widget build(BuildContext context) {\n\
|
|
\ return FloatingActionButton(\n onPressed: () {\n databaseRef.push().set({\n\
|
|
\ 'text': 'New Message',\n 'timestamp': DateTime.now().millisecondsSinceEpoch\n\
|
|
\ });\n },\n child: Icon(Icons.add),\n );\n }\n}\n\nclass\
|
|
\ Message {\n final String text;\n final int timestamp;\n\n Message({required\
|
|
\ this.text, required this.timestamp});\n\n factory Message.fromMap(Map<dynamic,\
|
|
\ dynamic> map) {\n return Message(\n text: map['text'],\n timestamp:\
|
|
\ map['timestamp'],\n );\n }\n}\n"
|
|
- "using System;\nusing System.Collections.Generic;\n\nclass BracketChecker\n{\n\
|
|
\ private readonly Dictionary<char, char> bracketPairs = new Dictionary<char,\
|
|
\ char>\n {\n { '(', ')' },\n { '[', ']' },\n { '{', '}'\
|
|
\ }\n };\n\n public bool CheckBalancedBrackets(string input)\n {\n \
|
|
\ if (string.IsNullOrEmpty(input))\n {\n return true;\n\
|
|
\ }\n\n Stack<char> stack = new Stack<char>();\n\n foreach\
|
|
\ (char c in input)\n {\n if (bracketPairs.ContainsValue(c))\n\
|
|
\ {\n if (stack.Count == 0 || bracketPairs[stack.Peek()]\
|
|
\ != c)\n {\n return false;\n \
|
|
\ }\n stack.Pop();\n }\n else if (bracketPairs.ContainsKey(c))\n\
|
|
\ {\n stack.Push(c);\n }\n }\n\n \
|
|
\ return stack.Count == 0;\n }\n}\n\nclass Program\n{\n static void\
|
|
\ Main()\n {\n BracketChecker bracketChecker = new BracketChecker();\n\
|
|
\n string input1 = \"(a+[b*c]-{d/e})\";\n Console.WriteLine(\"Input:\
|
|
\ \\\"{0}\\\"\", input1);\n Console.WriteLine(\"Output: {0}\\n\", bracketChecker.CheckBalancedBrackets(input1));\n\
|
|
\n string input2 = \"(a+[b*c)-{d/e}]\";\n Console.WriteLine(\"Input:\
|
|
\ \\\"{0}\\\"\", input2);\n Console.WriteLine(\"Output: {0}\", bracketChecker.CheckBalancedBrackets(input2));\n\
|
|
\ }\n}\n"
|
|
- "def move_zeros_to_end(lst):\n zero_count = 0\n for i in range(len(lst)):\n\
|
|
\ if lst[i] != 0:\n lst[i], lst[zero_count] = lst[zero_count],\
|
|
\ lst[i]\n zero_count += 1\n\n# Test cases\nlst1 = [0, 1, 0, 3, 12]\n\
|
|
move_zeros_to_end(lst1)\nprint(lst1) # Output: [1, 3, 12, 0, 0]\n\nlst2 = [0,\
|
|
\ 0, 1]\nmove_zeros_to_end(lst2)\nprint(lst2) # Output: [1, 0, 0]\n"
|
|
model-index:
|
|
- name: SentenceTransformer based on distilbert/distilbert-base-uncased-finetuned-sst-2-english
|
|
results:
|
|
- task:
|
|
type: semantic-similarity
|
|
name: Semantic Similarity
|
|
dataset:
|
|
name: Unknown
|
|
type: unknown
|
|
metrics:
|
|
- type: pearson_cosine
|
|
value: 0.9000341656513303
|
|
name: Pearson Cosine
|
|
- type: spearman_cosine
|
|
value: 0.9013693287916293
|
|
name: Spearman Cosine
|
|
- type: pearson_manhattan
|
|
value: 0.8619949591168187
|
|
name: Pearson Manhattan
|
|
- type: spearman_manhattan
|
|
value: 0.8020438201628594
|
|
name: Spearman Manhattan
|
|
- type: pearson_euclidean
|
|
value: 0.868483180326987
|
|
name: Pearson Euclidean
|
|
- type: spearman_euclidean
|
|
value: 0.8234464507775442
|
|
name: Spearman Euclidean
|
|
- type: pearson_dot
|
|
value: 0.8494699061913786
|
|
name: Pearson Dot
|
|
- type: spearman_dot
|
|
value: 0.8947516297094024
|
|
name: Spearman Dot
|
|
- type: pearson_max
|
|
value: 0.9000341656513303
|
|
name: Pearson Max
|
|
- type: spearman_max
|
|
value: 0.9013693287916293
|
|
name: Spearman Max
|
|
---
|
|
|
|
# SentenceTransformer based on distilbert/distilbert-base-uncased-finetuned-sst-2-english
|
|
|
|
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [distilbert/distilbert-base-uncased-finetuned-sst-2-english](https://huggingface.co/distilbert/distilbert-base-uncased-finetuned-sst-2-english). It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
|
|
|
|
## Model Details
|
|
|
|
### Model Description
|
|
- **Model Type:** Sentence Transformer
|
|
- **Base model:** [distilbert/distilbert-base-uncased-finetuned-sst-2-english](https://huggingface.co/distilbert/distilbert-base-uncased-finetuned-sst-2-english) <!-- at revision 714eb0fa89d2f80546fda750413ed43d93601a13 -->
|
|
- **Maximum Sequence Length:** 512 tokens
|
|
- **Output Dimensionality:** 768 tokens
|
|
- **Similarity Function:** Cosine Similarity
|
|
<!-- - **Training Dataset:** Unknown -->
|
|
<!-- - **Language:** Unknown -->
|
|
<!-- - **License:** Unknown -->
|
|
|
|
### Model Sources
|
|
|
|
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
|
|
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
|
|
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
|
|
|
|
### Full Model Architecture
|
|
|
|
```
|
|
SentenceTransformer(
|
|
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: DistilBertModel
|
|
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
|
|
)
|
|
```
|
|
|
|
## 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("wasabibish/similarity-code-ai-generated")
|
|
# Run inference
|
|
sentences = [
|
|
'def move_zeroes(nums):\n count = 0\n for i in range(len(nums)):\n if nums[i] != 0:\n nums[count], nums[i]= nums[i], nums[count]\n count += 1\n for i in range(count, len(nums)):\n nums[i] =0\n\ninput = [int(x) for x in input("Enter integers separated by spaces: ").split()]\nmove_zeroes(input)\n\nprint(input)',
|
|
'def move_zeros_to_end(lst):\n zero_count = 0\n for i in range(len(lst)):\n if lst[i] != 0:\n lst[i], lst[zero_count] = lst[zero_count], lst[i]\n zero_count += 1\n\n# Test cases\nlst1 = [0, 1, 0, 3, 12]\nmove_zeros_to_end(lst1)\nprint(lst1) # Output: [1, 3, 12, 0, 0]\n\nlst2 = [0, 0, 1]\nmove_zeros_to_end(lst2)\nprint(lst2) # Output: [1, 0, 0]\n',
|
|
'using System;\nusing System.Collections.Generic;\n\nclass BracketChecker\n{\n private readonly Dictionary<char, char> bracketPairs = new Dictionary<char, char>\n {\n { \'(\', \')\' },\n { \'[\', \']\' },\n { \'{\', \'}\' }\n };\n\n public bool CheckBalancedBrackets(string input)\n {\n if (string.IsNullOrEmpty(input))\n {\n return true;\n }\n\n Stack<char> stack = new Stack<char>();\n\n foreach (char c in input)\n {\n if (bracketPairs.ContainsValue(c))\n {\n if (stack.Count == 0 || bracketPairs[stack.Peek()] != c)\n {\n return false;\n }\n stack.Pop();\n }\n else if (bracketPairs.ContainsKey(c))\n {\n stack.Push(c);\n }\n }\n\n return stack.Count == 0;\n }\n}\n\nclass Program\n{\n static void Main()\n {\n BracketChecker bracketChecker = new BracketChecker();\n\n string input1 = "(a+[b*c]-{d/e})";\n Console.WriteLine("Input: \\"{0}\\"", input1);\n Console.WriteLine("Output: {0}\\n", bracketChecker.CheckBalancedBrackets(input1));\n\n string input2 = "(a+[b*c)-{d/e}]";\n Console.WriteLine("Input: \\"{0}\\"", input2);\n Console.WriteLine("Output: {0}", bracketChecker.CheckBalancedBrackets(input2));\n }\n}\n',
|
|
]
|
|
embeddings = model.encode(sentences)
|
|
print(embeddings.shape)
|
|
# [3, 768]
|
|
|
|
# Get the similarity scores for the embeddings
|
|
similarities = model.similarity(embeddings, embeddings)
|
|
print(similarities.shape)
|
|
# [3, 3]
|
|
```
|
|
|
|
<!--
|
|
### Direct Usage (Transformers)
|
|
|
|
<details><summary>Click to see the direct usage in Transformers</summary>
|
|
|
|
</details>
|
|
-->
|
|
|
|
<!--
|
|
### Downstream Usage (Sentence Transformers)
|
|
|
|
You can finetune this model on your own dataset.
|
|
|
|
<details><summary>Click to expand</summary>
|
|
|
|
</details>
|
|
-->
|
|
|
|
<!--
|
|
### Out-of-Scope Use
|
|
|
|
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
|
|
-->
|
|
|
|
## Evaluation
|
|
|
|
### Metrics
|
|
|
|
#### Semantic Similarity
|
|
|
|
* Evaluated with [<code>EmbeddingSimilarityEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator)
|
|
|
|
| Metric | Value |
|
|
|:-------------------|:-----------|
|
|
| pearson_cosine | 0.9 |
|
|
| spearman_cosine | 0.9014 |
|
|
| pearson_manhattan | 0.862 |
|
|
| spearman_manhattan | 0.802 |
|
|
| pearson_euclidean | 0.8685 |
|
|
| spearman_euclidean | 0.8234 |
|
|
| pearson_dot | 0.8495 |
|
|
| spearman_dot | 0.8948 |
|
|
| pearson_max | 0.9 |
|
|
| **spearman_max** | **0.9014** |
|
|
|
|
<!--
|
|
## Bias, Risks and Limitations
|
|
|
|
*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
|
|
-->
|
|
|
|
<!--
|
|
### Recommendations
|
|
|
|
*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
|
|
-->
|
|
|
|
## Training Details
|
|
|
|
### Training Dataset
|
|
|
|
#### Unnamed Dataset
|
|
|
|
|
|
* Size: 302 training samples
|
|
* Columns: <code>sentence1</code>, <code>sentence2</code>, and <code>score</code>
|
|
* Approximate statistics based on the first 302 samples:
|
|
| | sentence1 | sentence2 | score |
|
|
|:--------|:------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------|:---------------------------------------------------------------|
|
|
| type | string | string | float |
|
|
| details | <ul><li>min: 3 tokens</li><li>mean: 206.43 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 27 tokens</li><li>mean: 244.9 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 0.0</li><li>mean: 0.29</li><li>max: 0.9</li></ul> |
|
|
* Samples:
|
|
| sentence1 | sentence2 | score |
|
|
|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------|
|
|
| <code>from django.views.generic import ListView<br><br>class PersonListView(ListView):<br> model = Person<br> template_name = 'person_list.html'<br><br> def get_queryset(self):<br> return Person.objects.filter(birthdate__year__lte=2005)</code> | <code>from myapp.models import Customer # Import the Customer model from your Django app<br><br>def get_customers_with_zip_code_starting_with_123():<br> customers = Customer.objects.filter(zip_code__startswith='123').values() # Query to filter customers with zip_code starting with '123'<br> return list(customers) # Return a list of dictionaries for matching records<br></code> | <code>0.4</code> |
|
|
| <code><div class="content-box"><br> <p>Welcome to our website!</p><br></div><br><style><br> .content-box {<br> margin: 20;<br> background-colour: #00G;<br> }<br></style></code> | <code>function createSentence(words, maxChars) {<br> if (words.length === 0 || maxChars < 1) {<br> return "";<br> }<br><br> let sentence = "";<br> let currentLength = 0;<br><br> for (let i = 0; i < words.length; i++) {<br> if (sentence.length + words[i].length + 1 <= maxChars) {<br> sentence += words[i] + " ";<br> currentLength += words[i].length + 1;<br> } else {<br> break;<br> }<br> }<br><br> if (sentence.length > 0) {<br> sentence = sentence.trim() + ".";<br> }<br><br> return sentence;<br>}<br><br>// Test the function with the example<br>const words = ['hello', 'world', 'this', 'is', 'a', 'test'];<br>const maxChars = 20;<br>console.log(createSentence(words, maxChars)); // Output: 'hello world this.'<br></code> | <code>0.1</code> |
|
|
| <code>AAAAAA</code> | <code>#include <atlstr.h><br>#include <vector><br><br>class KMP {<br>public:<br> std::vector<int> findPatternIndices(const CString& text, const CString& pattern) {<br> std::vector<int> indices;<br> if (pattern.IsEmpty() || text.IsEmpty()) {<br> return indices;<br> }<br><br> std::vector<int> lps = computeLPSArray(pattern);<br><br> int i = 0, j = 0;<br> while (i < text.GetLength()) {<br> if (pattern[j] == text[i]) {<br> j++;<br> i++;<br> }<br><br> if (j == pattern.GetLength()) {<br> indices.push_back(i - j);<br> j = lps[j - 1];<br> } else if (i < text.GetLength() && pattern[j] != text[i]) {<br> if (j != 0) {<br> j = lps[j - 1];<br> } else {<br> i++;<br> }<br> }<br> }<br><br> return indices;<br> }<br><br>private:<br> std::vector<int> computeLPSArray(const CString& pattern) {<br> int len = 0;<br> std::vector<int> lps(pattern.GetLength(), 0);<br> <br> int i = 1;<br> while (i < pattern.GetLength()) {<br> if (pattern[i] == pattern[len]) {<br> len++;<br> lps[i] = len;<br> i++;<br> } else {<br> if (len != 0) {<br> len = lps[len - 1];<br> } else {<br> lps[i] = 0;<br> i++;<br> }<br> }<br> }<br><br> return lps;<br> }<br>};<br><br>void testKMP() {<br> KMP kmp;<br> <br> CString text1 = "ABABDABACDABABCABAB";<br> CString pattern1 = "ABABCABAB";<br> std::vector<int> result1 = kmp.findPatternIndices(text1, pattern1);<br> OutputDebugString("Input: text='ABABDABACDABABCABAB', pattern='ABABCABAB' -> Output: [");<br> for (int i = 0; i < result1.size(); i++) {<br> OutputDebugString(result1[i]);<br> if (i < result1.size() - 1) {<br> OutputDebugString(",");<br> }<br> }<br> OutputDebugString("]\n");<br><br> CString text2 = "AAAAA";<br> CString pattern2 = "AAA";<br> std::vector<int> result2 = kmp.findPatternIndices(text2, pattern2);<br> OutputDebugString("Input: text='AAAAA', pattern='AAA' -> Output: [");<br> for (int i = 0; i < result2.size(); i++) {<br> OutputDebugString(result2[i]);<br> if (i < result2.size() - 1) {<br> OutputDebugString(",");<br> }<br> }<br> OutputDebugString("]\n");<br>}<br></code> | <code>0.0</code> |
|
|
* Loss: [<code>CosineSimilarityLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#cosinesimilarityloss) with these parameters:
|
|
```json
|
|
{
|
|
"loss_fct": "torch.nn.modules.loss.MSELoss"
|
|
}
|
|
```
|
|
|
|
### Evaluation Dataset
|
|
|
|
#### Unnamed Dataset
|
|
|
|
|
|
* Size: 76 evaluation samples
|
|
* Columns: <code>sentence1</code>, <code>sentence2</code>, and <code>score</code>
|
|
* Approximate statistics based on the first 76 samples:
|
|
| | sentence1 | sentence2 | score |
|
|
|:--------|:------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:---------------------------------------------------------------|
|
|
| type | string | string | float |
|
|
| details | <ul><li>min: 5 tokens</li><li>mean: 216.92 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 54 tokens</li><li>mean: 254.78 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 0.0</li><li>mean: 0.33</li><li>max: 0.9</li></ul> |
|
|
* Samples:
|
|
| sentence1 | sentence2 | score |
|
|
|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------|
|
|
| <code>function stripHtmlTags(str) {<br> return str.replace(/<[^>]*>/g, '');<br>}<br><br>const input = '<p>Hello <em>World</em>!</p>';<br><br>const output = stripHtmlTags(input);<br><br>console.log(output);</code> | <code>function stripHtmlTags(input) {<br> if (!input) return '';<br><br> const tagRegex = /<[^>]*>/g;<br> return input.replace(tagRegex, '');<br>}<br></code> | <code>0.6</code> |
|
|
| <code><?php<br>function getTopThreeWords($text) {<br>// Remove punctuation and convert to lowercase<br>$words = str_word_count(strtolower(preg_replace('/[^\p{L}\p{N}\s]/u', ' ', $text)), 1);<br><br>// Count the frequency of each word<br>$wordFrequency = array_count_values($words);<br><br>// Sort the words by frequency in descending order<br>arsort($wordFrequency);<br><br>// Get the top three words<br>$topThreeWords = array_slice($wordFrequency, 0, 3, true);<br><br>// Format the output<br>$output = [];<br>foreach ($topThreeWords as $word => $count) {<br>$output[] = "('$word', $count)";<br>}<br><br>return '[' . implode(', ', $output) . ']';<br>}<br><br>// Example usage:<br>$inputText = "The quick brown fox jumps over the lazy dog. The dog was lazy!";<br>echo getTopThreeWords($inputText);<br>?></code> | <code><?php<br><br>function countTopWords($inputString) {<br> // Convert the input string to lowercase and remove punctuation<br> $cleanString = preg_replace("/[\W_]+/", " ", strtolower($inputString));<br><br> // Split the string into an array of words<br> $words = explode(" ", $cleanString);<br><br> // Count the frequency of each word<br> $wordCount = array_count_values($words);<br><br> // Sort the words by frequency in descending order<br> arsort($wordCount);<br><br> // Get the top three most common words<br> $topWords = array_slice($wordCount, 0, 3);<br><br> // Format the output as an array of tuples<br> $output = [];<br> foreach ($topWords as $word => $count) {<br> $output[] = [$word, $count];<br> }<br><br> return $output;<br>}<br><br>// Test the function with the example input<br>$inputString = "The quick brown fox jumps over the lazy dog. The dog was lazy!";<br>$output = countTopWords($inputString);<br>print_r($output);<br><br>?><br></code> | <code>0.3</code> |
|
|
| <code>AAAAAA</code> | <code>#include <atlstr.h><br>#include <vector><br><br>class KMP {<br>public:<br> std::vector<int> findPatternIndices(const CString& text, const CString& pattern) {<br> std::vector<int> indices;<br> if (pattern.IsEmpty() || text.IsEmpty()) {<br> return indices;<br> }<br><br> std::vector<int> lps = computeLPSArray(pattern);<br><br> int i = 0, j = 0;<br> while (i < text.GetLength()) {<br> if (pattern[j] == text[i]) {<br> j++;<br> i++;<br> }<br><br> if (j == pattern.GetLength()) {<br> indices.push_back(i - j);<br> j = lps[j - 1];<br> } else if (i < text.GetLength() && pattern[j] != text[i]) {<br> if (j != 0) {<br> j = lps[j - 1];<br> } else {<br> i++;<br> }<br> }<br> }<br><br> return indices;<br> }<br><br>private:<br> std::vector<int> computeLPSArray(const CString& pattern) {<br> int len = 0;<br> std::vector<int> lps(pattern.GetLength(), 0);<br> <br> int i = 1;<br> while (i < pattern.GetLength()) {<br> if (pattern[i] == pattern[len]) {<br> len++;<br> lps[i] = len;<br> i++;<br> } else {<br> if (len != 0) {<br> len = lps[len - 1];<br> } else {<br> lps[i] = 0;<br> i++;<br> }<br> }<br> }<br><br> return lps;<br> }<br>};<br><br>void testKMP() {<br> KMP kmp;<br> <br> CString text1 = "ABABDABACDABABCABAB";<br> CString pattern1 = "ABABCABAB";<br> std::vector<int> result1 = kmp.findPatternIndices(text1, pattern1);<br> OutputDebugString("Input: text='ABABDABACDABABCABAB', pattern='ABABCABAB' -> Output: [");<br> for (int i = 0; i < result1.size(); i++) {<br> OutputDebugString(result1[i]);<br> if (i < result1.size() - 1) {<br> OutputDebugString(",");<br> }<br> }<br> OutputDebugString("]\n");<br><br> CString text2 = "AAAAA";<br> CString pattern2 = "AAA";<br> std::vector<int> result2 = kmp.findPatternIndices(text2, pattern2);<br> OutputDebugString("Input: text='AAAAA', pattern='AAA' -> Output: [");<br> for (int i = 0; i < result2.size(); i++) {<br> OutputDebugString(result2[i]);<br> if (i < result2.size() - 1) {<br> OutputDebugString(",");<br> }<br> }<br> OutputDebugString("]\n");<br>}<br></code> | <code>0.0</code> |
|
|
* Loss: [<code>CosineSimilarityLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#cosinesimilarityloss) with these parameters:
|
|
```json
|
|
{
|
|
"loss_fct": "torch.nn.modules.loss.MSELoss"
|
|
}
|
|
```
|
|
|
|
### Training Hyperparameters
|
|
#### Non-Default Hyperparameters
|
|
|
|
- `eval_strategy`: steps
|
|
- `weight_decay`: 0.2
|
|
- `max_steps`: 100
|
|
- `warmup_steps`: 150
|
|
|
|
#### All Hyperparameters
|
|
<details><summary>Click to expand</summary>
|
|
|
|
- `overwrite_output_dir`: False
|
|
- `do_predict`: False
|
|
- `eval_strategy`: steps
|
|
- `prediction_loss_only`: True
|
|
- `per_device_train_batch_size`: 8
|
|
- `per_device_eval_batch_size`: 8
|
|
- `per_gpu_train_batch_size`: None
|
|
- `per_gpu_eval_batch_size`: None
|
|
- `gradient_accumulation_steps`: 1
|
|
- `eval_accumulation_steps`: None
|
|
- `torch_empty_cache_steps`: None
|
|
- `learning_rate`: 5e-05
|
|
- `weight_decay`: 0.2
|
|
- `adam_beta1`: 0.9
|
|
- `adam_beta2`: 0.999
|
|
- `adam_epsilon`: 1e-08
|
|
- `max_grad_norm`: 1.0
|
|
- `num_train_epochs`: 3.0
|
|
- `max_steps`: 100
|
|
- `lr_scheduler_type`: linear
|
|
- `lr_scheduler_kwargs`: {}
|
|
- `warmup_ratio`: 0.0
|
|
- `warmup_steps`: 150
|
|
- `log_level`: passive
|
|
- `log_level_replica`: warning
|
|
- `log_on_each_node`: True
|
|
- `logging_nan_inf_filter`: True
|
|
- `save_safetensors`: True
|
|
- `save_on_each_node`: False
|
|
- `save_only_model`: False
|
|
- `restore_callback_states_from_checkpoint`: False
|
|
- `no_cuda`: False
|
|
- `use_cpu`: False
|
|
- `use_mps_device`: False
|
|
- `seed`: 42
|
|
- `data_seed`: None
|
|
- `jit_mode_eval`: False
|
|
- `use_ipex`: False
|
|
- `bf16`: False
|
|
- `fp16`: False
|
|
- `fp16_opt_level`: O1
|
|
- `half_precision_backend`: auto
|
|
- `bf16_full_eval`: False
|
|
- `fp16_full_eval`: False
|
|
- `tf32`: None
|
|
- `local_rank`: 0
|
|
- `ddp_backend`: None
|
|
- `tpu_num_cores`: None
|
|
- `tpu_metrics_debug`: False
|
|
- `debug`: []
|
|
- `dataloader_drop_last`: False
|
|
- `dataloader_num_workers`: 0
|
|
- `dataloader_prefetch_factor`: None
|
|
- `past_index`: -1
|
|
- `disable_tqdm`: False
|
|
- `remove_unused_columns`: True
|
|
- `label_names`: None
|
|
- `load_best_model_at_end`: False
|
|
- `ignore_data_skip`: False
|
|
- `fsdp`: []
|
|
- `fsdp_min_num_params`: 0
|
|
- `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
|
|
- `fsdp_transformer_layer_cls_to_wrap`: None
|
|
- `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
|
|
- `deepspeed`: None
|
|
- `label_smoothing_factor`: 0.0
|
|
- `optim`: adamw_torch
|
|
- `optim_args`: None
|
|
- `adafactor`: False
|
|
- `group_by_length`: False
|
|
- `length_column_name`: length
|
|
- `ddp_find_unused_parameters`: None
|
|
- `ddp_bucket_cap_mb`: None
|
|
- `ddp_broadcast_buffers`: False
|
|
- `dataloader_pin_memory`: True
|
|
- `dataloader_persistent_workers`: False
|
|
- `skip_memory_metrics`: True
|
|
- `use_legacy_prediction_loop`: False
|
|
- `push_to_hub`: False
|
|
- `resume_from_checkpoint`: None
|
|
- `hub_model_id`: None
|
|
- `hub_strategy`: every_save
|
|
- `hub_private_repo`: False
|
|
- `hub_always_push`: False
|
|
- `gradient_checkpointing`: False
|
|
- `gradient_checkpointing_kwargs`: None
|
|
- `include_inputs_for_metrics`: False
|
|
- `eval_do_concat_batches`: True
|
|
- `fp16_backend`: auto
|
|
- `push_to_hub_model_id`: None
|
|
- `push_to_hub_organization`: None
|
|
- `mp_parameters`:
|
|
- `auto_find_batch_size`: False
|
|
- `full_determinism`: False
|
|
- `torchdynamo`: None
|
|
- `ray_scope`: last
|
|
- `ddp_timeout`: 1800
|
|
- `torch_compile`: False
|
|
- `torch_compile_backend`: None
|
|
- `torch_compile_mode`: None
|
|
- `dispatch_batches`: None
|
|
- `split_batches`: None
|
|
- `include_tokens_per_second`: False
|
|
- `include_num_input_tokens_seen`: False
|
|
- `neftune_noise_alpha`: None
|
|
- `optim_target_modules`: None
|
|
- `batch_eval_metrics`: False
|
|
- `eval_on_start`: False
|
|
- `eval_use_gather_object`: False
|
|
- `batch_sampler`: batch_sampler
|
|
- `multi_dataset_batch_sampler`: proportional
|
|
|
|
</details>
|
|
|
|
### Training Logs
|
|
| Epoch | Step | loss | spearman_max |
|
|
|:------:|:----:|:------:|:------------:|
|
|
| 0.5263 | 20 | 0.3765 | 0.5421 |
|
|
| 1.0526 | 40 | 0.1518 | 0.5774 |
|
|
| 1.5789 | 60 | 0.0501 | 0.8533 |
|
|
| 2.1053 | 80 | 0.0217 | 0.8900 |
|
|
| 2.6316 | 100 | 0.0168 | 0.9014 |
|
|
|
|
|
|
### Framework Versions
|
|
- Python: 3.9.10
|
|
- Sentence Transformers: 3.1.0
|
|
- Transformers: 4.44.2
|
|
- PyTorch: 2.4.1+cpu
|
|
- Accelerate: 0.34.2
|
|
- Datasets: 3.0.0
|
|
- Tokenizers: 0.19.1
|
|
|
|
## Citation
|
|
|
|
### BibTeX
|
|
|
|
#### Sentence Transformers
|
|
```bibtex
|
|
@inproceedings{reimers-2019-sentence-bert,
|
|
title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
|
|
author = "Reimers, Nils and Gurevych, Iryna",
|
|
booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
|
|
month = "11",
|
|
year = "2019",
|
|
publisher = "Association for Computational Linguistics",
|
|
url = "https://arxiv.org/abs/1908.10084",
|
|
}
|
|
```
|
|
|
|
<!--
|
|
## Glossary
|
|
|
|
*Clearly define terms in order to be accessible across audiences.*
|
|
-->
|
|
|
|
<!--
|
|
## Model Card Authors
|
|
|
|
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
|
|
-->
|
|
|
|
<!--
|
|
## Model Card Contact
|
|
|
|
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
|
|
--> |