Zarinaaa commited on
Commit
799fa63
·
1 Parent(s): 045c993

Инициализировал репозиторий с проектом punctuator_model

Browse files
.DS_Store ADDED
Binary file (6.15 kB). View file
 
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ venv/
Files/.DS_Store ADDED
Binary file (6.15 kB). View file
 
Files/__init__.py ADDED
File without changes
Files/merged.txt ADDED
The diff for this file is too large to render. See raw diff
 
Files/tb.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import time
2
+ import logging
3
+ import asyncio
4
+ from aiogram import Bot, Dispatcher, types
5
+ from aiogram.utils import executor
6
+ from env import TOKEN
7
+ from test_copy import process_text
8
+
9
+ bot = Bot(TOKEN)
10
+ dp = Dispatcher(bot=bot)
11
+
12
+ @dp.message_handler(commands=['start'])
13
+ async def start_handler(message: types.Message):
14
+ user_id = message.from_user.id
15
+ user_name = message.from_user.first_name
16
+ logging.info(f'{user_id} {time.asctime()}')
17
+
18
+ await message.reply(f"Hi, {user_name} !!!!!\nвведите текст:")
19
+
20
+ @dp.message_handler(state=None)
21
+ async def message_handler(message: types.Message):
22
+ processed_text = process_text(message.text)
23
+ await message.reply(f"Вот исправленный текст\n\n{processed_text}")
24
+
25
+ async def on_startup(dp):
26
+ await bot.send_message(chat_id='your_chat_id', text='Bot has been started')
27
+
28
+ async def on_shutdown(dp):
29
+ # Perform cleanup (if any) here
30
+ pass
31
+
32
+ if __name__ == '__main__':
33
+ loop = asyncio.get_event_loop()
34
+ loop.run_until_complete(on_startup(dp))
35
+ try:
36
+ executor.start_polling(dp, skip_updates=True)
37
+ finally:
38
+ loop.run_until_complete(on_shutdown(dp))
Files/telegram_bot.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import time
2
+ import logging
3
+ from aiogram import Bot, Dispatcher, types
4
+ from aiogram import utils_executor
5
+ from env import TOKEN
6
+ from aiogram import Bot, types, Dispatcher, executor
7
+ from test_copy import process_text
8
+ bot = Bot(TOKEN)
9
+ dp = Dispatcher(bot=bot)
10
+
11
+ @dp.message_handler(commands=['start'])
12
+ async def start_handler(message: types.Message):
13
+ user_id = message.from_user.id
14
+ user_name = message.from_user.first_name
15
+ logging.info(f'{user_id} {time.asctime()}')
16
+
17
+ await message.reply(f"Hi, {user_name} !!!!!\nвведите текст:")
18
+
19
+
20
+ @dp.message_handler(state=None)
21
+ async def message_handler(message: types.Message):
22
+ processed_text = process_text(message.text)
23
+ await message.reply(f"Вот исправленный текст\n\n{processed_text}")
24
+
25
+
26
+ if __name__ == '__main__':
27
+ executor.start_polling(dp, skip_updates=True)
Files/test.py ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ import onnxruntime as ort
3
+ from omegaconf import OmegaConf
4
+ from sentencepiece import SentencePieceProcessor
5
+ from typing import List
6
+
7
+ def process_text(input_text: str) -> str:
8
+ spe_path = "sp.model" # Путь к файлу SentencePieceProcessor
9
+ tokenizer: SentencePieceProcessor = SentencePieceProcessor(spe_path)
10
+
11
+ # Загрузка ONNX модели
12
+ onnx_path = "model.onnx" # Путь к файлу ONNX модели
13
+ ort_session: ort.InferenceSession = ort.InferenceSession(onnx_path)
14
+
15
+ # Загрузка конфигурации модели с метками, параметрами и др.
16
+ config_path = "config.yaml" # Путь к файлу конфигурации модели
17
+ config = OmegaConf.load(config_path)
18
+ # Возможные метки классификации перед каждым подтокеном
19
+ pre_labels: List[str] = config.pre_labels
20
+ # Возможные метки классификации после каждого подтокена
21
+ post_labels: List[str] = config.post_labels
22
+ # Специальный класс, который означает "ничего не предсказывать"
23
+ null_token = config.get("null_token", "<NULL>")
24
+ # Специальный класс, который означает "все символы в этом подтокене заканчиваются точкой", например, "am" -> "a.m."
25
+ acronym_token = config.get("acronym_token", "<ACRONYM>")
26
+ # Не используется в этом примере, но если ваша последовательность превышает это значение, вам нужно разделить ее на несколько входов
27
+ max_len = config.max_length
28
+ # Для справки: граф не имеет языковой специфики
29
+ languages: List[str] = config.languages
30
+
31
+ # Кодирование входного текста, добавление BOS + EOS
32
+ input_ids = [tokenizer.bos_id()] + tokenizer.EncodeAsIds(input_text) + [tokenizer.eos_id()]
33
+
34
+ # Создание массива numpy с формой [B, T], как ожидается входом графа.
35
+ input_ids_arr: np.array = np.array([input_ids])
36
+
37
+ # Запуск графа, получение результатов для всех аналитических данных
38
+ pre_preds, post_preds, cap_preds, sbd_preds = ort_session.run(None, {"input_ids": input_ids_arr})
39
+ # Убираем измерение пакета и преобразуем в списки
40
+ pre_preds = pre_preds[0].tolist()
41
+ post_preds = post_preds[0].tolist()
42
+ cap_preds = cap_preds[0].tolist()
43
+ sbd_preds = sbd_preds[0].tolist()
44
+
45
+ # Обработка текста как ранее
46
+ output_texts: List[str] = []
47
+ current_chars: List[str] = []
48
+
49
+ for token_idx in range(1, len(input_ids) - 1):
50
+ token = tokenizer.IdToPiece(input_ids[token_idx])
51
+ if token.startswith("▁") and current_chars:
52
+ current_chars.append(" ")
53
+ # Token-level predictions
54
+ pre_label = pre_labels[pre_preds[token_idx]]
55
+ post_label = post_labels[post_preds[token_idx]]
56
+ # If we predict "pre-punct", insert it before this token
57
+ if pre_label != null_token:
58
+ current_chars.append(pre_label)
59
+ # Iterate over each char. Skip SP's space token,
60
+ char_start = 1 if token.startswith("▁") else 0
61
+ for token_char_idx, char in enumerate(token[char_start:], start=char_start):
62
+ # If this char should be capitalized, apply upper case
63
+ if cap_preds[token_idx][token_char_idx]:
64
+ char = char.upper()
65
+ # Append char
66
+ current_chars.append(char)
67
+ # if this is an acronym, add a period after every char (p.m., a.m., etc.)
68
+ if post_label == acronym_token:
69
+ current_chars.append(".")
70
+ # Maybe this subtoken ends with punctuation
71
+ if post_label != null_token and post_label != acronym_token:
72
+ current_chars.append(post_label)
73
+
74
+ # If this token is a sentence boundary, finalize the current sentence and reset
75
+ if sbd_preds[token_idx]:
76
+ output_texts.append("".join(current_chars))
77
+ current_chars.clear()
78
+
79
+ # Добавляем последний токен
80
+ output_texts.append("".join(current_chars))
81
+
82
+ # Возвращаем обработанный текст
83
+ return "\n".join(output_texts)
84
+
85
+ # Пример использования:
86
+ input_text = "салам кандайсың"
87
+ processed_text = process_text(input_text)
88
+ print("Обработанный текст:")
89
+ print(processed_text)
Files/word.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import re
2
+ from collections import Counter
3
+
4
+ def read_sentences(file_path):
5
+ with open(file_path, 'r', encoding='utf-8') as file:
6
+ sentences = file.readlines()
7
+ return sentences
8
+
9
+ def preprocess_sentences(sentences):
10
+ # Удаление символов новой строки и лишних пробелов
11
+ sentences = [sentence.strip() for sentence in sentences]
12
+
13
+ # Добавление маркеров начала и конца предложения
14
+ sentences = ['<start> ' + sentence + ' <end>' for sentence in sentences]
15
+
16
+ # Разделение предложений на токены с сохранением информации о знаках препинания
17
+ tokenized_sentences = [re.findall(r"[\w']+|[.,!?;]", sentence) for sentence in sentences]
18
+
19
+ return tokenized_sentences
20
+
21
+ def create_vocab(tokenized_sentences):
22
+ # Создание словаря с частотой слов (токенов) в корпусе
23
+ word_freq = Counter([word for sentence in tokenized_sentences for word in sentence])
24
+
25
+ # Сортировка слов по убыванию частоты
26
+ sorted_words = sorted(word_freq, key=word_freq.get, reverse=True)
27
+
28
+ # Добавление специальных маркеров начала и конца предложения
29
+ special_tokens = ['<pad>', '<start>', '<end>', '<unk>']
30
+ sorted_words = special_tokens + sorted_words
31
+
32
+ # Создание словаря, преобразующего слова (токены) в числовые идентификаторы
33
+ word_to_id = {word: idx for idx, word in enumerate(sorted_words)}
34
+
35
+ # Создание обратного словаря для декодирования
36
+ id_to_word = {idx: word for word, idx in word_to_id.items()}
37
+
38
+ return word_to_id, id_to_word
39
+
40
+
41
+ file_path = "Files/merged.txt"
42
+ sentences = read_sentences(file_path)
43
+ tokenized_sentences = preprocess_sentences(sentences)
44
+
45
+ word_to_id, id_to_word = create_vocab(tokenized_sentences)
46
+ # print(word_to_id)
README.md ADDED
@@ -0,0 +1 @@
 
 
1
+ # hackaton_generative_ai
__pycache__/env.cpython-310.pyc ADDED
Binary file (227 Bytes). View file
 
__pycache__/env.cpython-311.pyc ADDED
Binary file (242 Bytes). View file
 
__pycache__/test_copy.cpython-310.pyc ADDED
Binary file (1.77 kB). View file
 
__pycache__/test_copy.cpython-311.pyc ADDED
Binary file (3.81 kB). View file
 
config.yaml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ languages: [
3
+ "af", "am", "ar", "bg", "bn", "de", "el", "en", "es", "et",
4
+ "fa", "fi", "fr", "gu", "hi", "hr", "hu", "id", "is", "it",
5
+ "ja", "kk", "kn", "ko", "ky", "lt", "lv", "mk", "ml", "mr",
6
+ "nl", "or", "pa", "pl", "ps", "pt", "ro", "ru", "rw", "so",
7
+ "sr", "sw", "ta", "te", "tr", "uk", "zh"
8
+ ]
9
+
10
+ max_length: 256
11
+
12
+ pre_labels: [
13
+ "<NULL>",
14
+ "¿",
15
+ ]
16
+
17
+ post_labels: [
18
+ "<NULL>",
19
+ "<ACRONYM>",
20
+ ".",
21
+ ",",
22
+ "?",
23
+ "?",
24
+ ",",
25
+ "。",
26
+ "、",
27
+ "・",
28
+ "।",
29
+ "؟",
30
+ "،",
31
+ ";",
32
+ "።",
33
+ "፣",
34
+ "፧",
35
+ ]
env.py ADDED
@@ -0,0 +1 @@
 
 
1
+ TOKEN = "7073499256:AAHovU_AQdpLAqg5qINRiYBUMKZdba-QTuc"
main.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import time
2
+ import logging
3
+ from aiogram import Bot, types, Dispatcher
4
+ from aiogram.utils import executor
5
+ from env import TOKEN
6
+ from test_copy import process_text
7
+
8
+ bot = Bot(TOKEN)
9
+ dp = Dispatcher(bot=bot)
10
+
11
+ @dp.message_handler(commands=['start'])
12
+ async def start_handler(message: types.Message):
13
+ user_id = message.from_user.id
14
+ user_name = message.from_user.first_name
15
+ logging.info(f'{user_id} {time.asctime()}')
16
+
17
+ await message.reply(f"Салам, {user_name} !!!!!\nТекст киргизиңиз:")
18
+
19
+ @dp.message_handler(state=None)
20
+ async def message_handler(message: types.Message):
21
+ processed_text = process_text(message.text)
22
+ await message.reply(f"Оңдолгон текст:\n\n{processed_text}")
23
+
24
+ if __name__ == '__main__':
25
+ executor.start_polling(dp, skip_updates=True)
model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c43ca686dabc237c3b06be834b9423c07580fef7e2b1a6c09976f7d60caa5d89
3
+ size 1112481438
requirements.txt ADDED
@@ -0,0 +1,374 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ aiofiles==23.2.1
2
+ aiogram==3.2.0
3
+ aiohttp==3.9.1
4
+ aiosignal==1.3.1
5
+ alabaster @ file:///home/ktietz/src/ci/alabaster_1611921544520/work
6
+ anaconda-client==1.11.1
7
+ anaconda-navigator==2.4.0
8
+ anaconda-project @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_52iciqycjz/croots/recipe/anaconda-project_1660339902500/work
9
+ annotated-types==0.6.0
10
+ antlr4-python3-runtime==4.9.3
11
+ anyio @ file:///opt/concourse/worker/volumes/live/eb44598f-565b-45e7-4c50-c1ae70306e18/volume/anyio_1644481722202/work/dist
12
+ appdirs==1.4.4
13
+ applaunchservices @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_96v71vcny2/croots/recipe/applaunchservices_1661854626389/work
14
+ appnope @ file:///Users/builder/ci_310/appnope_1642500616005/work
15
+ appscript @ file:///Users/builder/ci_310/appscript_1642500634899/work
16
+ argon2-cffi @ file:///opt/conda/conda-bld/argon2-cffi_1645000214183/work
17
+ argon2-cffi-bindings @ file:///opt/concourse/worker/volumes/live/cf502f86-3f51-4f85-686b-4867f6d672bd/volume/argon2-cffi-bindings_1644569704808/work
18
+ arrow @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_449ar138g4/croot/arrow_1676589330046/work
19
+ asgiref==3.6.0
20
+ astroid @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_fcesavn3e6/croot/astroid_1676904311658/work
21
+ astropy @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_0a17b8e9-1fad-48c5-91fb-b4dded6b289flor4xw5u/croots/recipe/astropy_1657786108950/work
22
+ asttokens @ file:///opt/conda/conda-bld/asttokens_1646925590279/work
23
+ async-timeout==4.0.3
24
+ atomicwrites==1.4.0
25
+ attrs @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_33k1uces4n/croot/attrs_1668696162258/work
26
+ audioread==3.0.0
27
+ Automat @ file:///tmp/build/80754af9/automat_1600298431173/work
28
+ autopep8 @ file:///opt/conda/conda-bld/autopep8_1650463822033/work
29
+ Babel @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_59c7q3smap/croot/babel_1671781946809/work
30
+ backcall @ file:///home/ktietz/src/ci/backcall_1611930011877/work
31
+ backports.functools-lru-cache @ file:///tmp/build/80754af9/backports.functools_lru_cache_1618170165463/work
32
+ backports.tempfile @ file:///home/linux1/recipes/ci/backports.tempfile_1610991236607/work
33
+ backports.weakref==1.0.post1
34
+ bcrypt @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_b550nfy8c3/croots/recipe/bcrypt_1659554333520/work
35
+ beautifulsoup4 @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_croot-cdiouih5/beautifulsoup4_1650462164803/work
36
+ binaryornot @ file:///tmp/build/80754af9/binaryornot_1617751525010/work
37
+ black @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_d0nhgmyc3l/croots/recipe/black_1660237813406/work
38
+ bleach @ file:///opt/conda/conda-bld/bleach_1641577558959/work
39
+ bokeh @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_4689ce87-cfaa-4ded-b2ca-a10b180c8012082opaxd/croots/recipe/bokeh_1658136657265/work
40
+ Bottleneck @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_29949159-f86f-474b-bc1f-aaa1e0e222b4ofusifik/croots/recipe/bottleneck_1657175564045/work
41
+ brotlipy==0.7.0
42
+ cachetools==5.3.1
43
+ certifi==2023.11.17
44
+ cffi @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_1b0qzba5nr/croot/cffi_1670423213150/work
45
+ chardet @ file:///Users/builder/ci_310/chardet_1642531418028/work
46
+ charset-normalizer @ file:///tmp/build/80754af9/charset-normalizer_1630003229654/work
47
+ click @ file:///opt/concourse/worker/volumes/live/2d66025a-4d79-47c4-43be-6220928b6c82/volume/click_1646056610594/work
48
+ cloudpickle @ file:///tmp/build/80754af9/cloudpickle_1632508026186/work
49
+ clyent==1.2.2
50
+ colorama @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f5t80kwp9l/croot/colorama_1672386533201/work
51
+ colorcet @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_90eyh6cp1r/croot/colorcet_1668084492169/work
52
+ coloredlogs==15.0.1
53
+ comm @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_0b9r9i3b7k/croot/comm_1671231125581/work
54
+ conda==23.1.0
55
+ conda-build==3.23.3
56
+ conda-content-trust @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_0afea0f9-bbf5-446c-8d60-8151cc05b029p0nco1nn/croots/recipe/conda-content-trust_1658126375910/work
57
+ conda-pack @ file:///tmp/build/80754af9/conda-pack_1611163042455/work
58
+ conda-package-handling @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f5r7ncch6s/croot/conda-package-handling_1672865026931/work
59
+ conda-repo-cli==1.0.27
60
+ conda-token @ file:///Users/paulyim/miniconda3/envs/c3i/conda-bld/conda-token_1662660369760/work
61
+ conda-verify==3.4.2
62
+ conda_package_streaming @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_619dxy_gif/croot/conda-package-streaming_1670508154637/work
63
+ constantly==15.1.0
64
+ contourpy @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_17gskqgptz/croots/recipe/contourpy_1663827415320/work
65
+ cookiecutter @ file:///opt/conda/conda-bld/cookiecutter_1649151442564/work
66
+ cramjam==2.7.0
67
+ cryptography @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_19cvzxmeb9/croot/cryptography_1677533085498/work
68
+ cssselect==1.1.0
69
+ cycler @ file:///tmp/build/80754af9/cycler_1637851556182/work
70
+ cytoolz @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_95v3uo4da9/croot/cytoolz_1667465932724/work
71
+ dask @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_625ab4ad-a7aa-46be-859b-eb7a32fc37bc46adm9wx/croots/recipe/dask-core_1658513219136/work
72
+ datasets==3.2.0
73
+ datashader @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_7dvzl9jm5m/croot/datashader_1676022904500/work
74
+ datashape==0.5.4
75
+ debugpy @ file:///Users/builder/ci_310/debugpy_1642501698574/work
76
+ decorator @ file:///opt/conda/conda-bld/decorator_1643638310831/work
77
+ defusedxml @ file:///tmp/build/80754af9/defusedxml_1615228127516/work
78
+ diff-match-patch @ file:///Users/ktietz/demo/mc3/conda-bld/diff-match-patch_1630511840874/work
79
+ dill==0.3.8
80
+ distlib==0.3.8
81
+ distributed @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_ca26b14a-a121-44b5-82b0-dbb6ccf35309a1h39fbg/croots/recipe/distributed_1658520748547/work
82
+ Django==4.2
83
+ docstring-to-markdown @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_1e4inmg_31/croot/docstring-to-markdown_1673447635742/work
84
+ docutils @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_10cfb287-0327-45ef-a38e-53dffd30cef1nwpvy20e/croots/recipe/docutils_1657175439973/work
85
+ docx2pdf==0.1.8
86
+ entrypoints @ file:///opt/concourse/worker/volumes/live/5eb4850e-dcbc-41ad-5f22-922bac778f70/volume/entrypoints_1649926457041/work
87
+ et-xmlfile==1.1.0
88
+ executing @ file:///opt/conda/conda-bld/executing_1646925071911/work
89
+ fastjsonschema @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_b5c1gee32t/croots/recipe/python-fastjsonschema_1661368622875/work
90
+ fastparquet==2023.10.1
91
+ ffmpeg==1.4
92
+ ffmpeg-python==0.2.0
93
+ filelock==3.15.4
94
+ flake8 @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_2ea7g_jb28/croot/flake8_1674581815008/work
95
+ Flask @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_4eo947bliu/croot/flask_1671217361971/work
96
+ flatbuffers==23.5.26
97
+ flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_core
98
+ fonttools==4.25.0
99
+ frozenlist==1.4.0
100
+ fsspec==2024.9.0
101
+ future @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_27i98bxita/croot/future_1677599886956/work
102
+ gensim @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_97o5eolfwi/croot/gensim_1674852444908/work
103
+ glob2 @ file:///home/linux1/recipes/ci/glob2_1610991677669/work
104
+ gmpy2 @ file:///opt/concourse/worker/volumes/live/22766409-e78a-4fb0-711e-bd031212d672/volume/gmpy2_1645455563619/work
105
+ google-api-core==2.11.1
106
+ google-auth==2.23.0
107
+ google-cloud-core==2.3.3
108
+ google-cloud-storage==2.10.0
109
+ google-crc32c==1.5.0
110
+ google-resumable-media==2.6.0
111
+ googleapis-common-protos==1.60.0
112
+ greenlet @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_dd2bsq3kkw/croot/greenlet_1670513229760/work
113
+ h5py @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_7fnj4n39p5/croots/recipe/h5py_1659091379933/work
114
+ HeapDict @ file:///Users/ktietz/demo/mc3/conda-bld/heapdict_1630598515714/work
115
+ holoviews @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_59i6il2bqq/croot/holoviews_1676372884451/work
116
+ huggingface-hub==0.27.1
117
+ humanfriendly==10.0
118
+ hvplot @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_7e03pzpta7/croot/hvplot_1670508916157/work
119
+ hyperlink @ file:///tmp/build/80754af9/hyperlink_1610130746837/work
120
+ idna @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_00jf0h4zbt/croot/idna_1666125573348/work
121
+ imagecodecs @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f5ex0fzd_v/croot/imagecodecs_1677590340728/work
122
+ imageio @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_97raqzdnb8/croot/imageio_1677879571327/work
123
+ imagesize @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_4a6ed1be-fe30-4d6a-91d4-f867600caa0be5_dxzvt/croots/recipe/imagesize_1657179500955/work
124
+ imbalanced-learn @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_92fc6e0vq4/croot/imbalanced-learn_1677191578395/work
125
+ importlib-metadata @ file:///opt/concourse/worker/volumes/live/a8740f82-0523-4b08-5bb5-afa0c929f5e0/volume/importlib-metadata_1648562424930/work
126
+ incremental @ file:///tmp/build/80754af9/incremental_1636629750599/work
127
+ inflection==0.5.1
128
+ iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
129
+ intake @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_404ewry1f9/croot/intake_1676619886361/work
130
+ intervaltree @ file:///Users/ktietz/demo/mc3/conda-bld/intervaltree_1630511889664/work
131
+ ipykernel @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_4dybncc18w/croot/ipykernel_1671488388285/work
132
+ ipython @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_5d1j6t_z43/croot/ipython_1676584167910/work
133
+ ipython-genutils @ file:///tmp/build/80754af9/ipython_genutils_1606773439826/work
134
+ ipywidgets @ file:///tmp/build/80754af9/ipywidgets_1634143127070/work
135
+ isort @ file:///tmp/build/80754af9/isort_1628603791788/work
136
+ itemadapter @ file:///tmp/build/80754af9/itemadapter_1626442940632/work
137
+ itemloaders @ file:///opt/conda/conda-bld/itemloaders_1646805235997/work
138
+ itsdangerous @ file:///tmp/build/80754af9/itsdangerous_1621432558163/work
139
+ jedi @ file:///opt/concourse/worker/volumes/live/18b71546-5bde-4add-72d1-7d16b76f0f7a/volume/jedi_1644315243726/work
140
+ jellyfish @ file:///opt/concourse/worker/volumes/live/d045b25f-e3af-4008-4edc-a00aeffb8b33/volume/jellyfish_1647962558521/work
141
+ Jinja2 @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_6adj7x0ejx/croot/jinja2_1666908137966/work
142
+ jinja2-time @ file:///opt/conda/conda-bld/jinja2-time_1649251842261/work
143
+ jmespath @ file:///Users/ktietz/demo/mc3/conda-bld/jmespath_1630583964805/work
144
+ joblib @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_955tow_ysb/croot/joblib_1666298851241/work
145
+ json5 @ file:///tmp/build/80754af9/json5_1624432770122/work
146
+ jsonschema @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_21cqeq1xnk/croot/jsonschema_1676558686956/work
147
+ jupyter @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_e35x81mm4c/croots/recipe/jupyter_1659349054503/work
148
+ jupyter-console @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_d65mfur0x5/croot/jupyter_console_1677674654248/work
149
+ jupyter-server @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_031akrjssy/croot/jupyter_server_1671707631142/work
150
+ jupyter_client @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_41tzpfqkok/croots/recipe/jupyter_client_1661848920196/work
151
+ jupyter_core @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_cdq4mx8fk2/croot/jupyter_core_1676538594191/work
152
+ jupyterlab @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_a52a346vyc/croot/jupyterlab_1675354129045/work
153
+ jupyterlab-pygments @ file:///tmp/build/80754af9/jupyterlab_pygments_1601490720602/work
154
+ jupyterlab-widgets @ file:///tmp/build/80754af9/jupyterlab_widgets_1609884341231/work
155
+ jupyterlab_server @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_447yg3joq7/croot/jupyterlab_server_1677149708049/work
156
+ keyring @ file:///Users/builder/ci_310/keyring_1642616528347/work
157
+ kiwisolver @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_e26jwrjf6j/croot/kiwisolver_1672387151391/work
158
+ lazy-object-proxy @ file:///Users/builder/ci_310/lazy-object-proxy_1642533824465/work
159
+ lazy_loader==0.3
160
+ libarchive-c @ file:///tmp/build/80754af9/python-libarchive-c_1617780486945/work
161
+ librosa==0.10.0.post2
162
+ llvmlite==0.39.1
163
+ locket @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_81b4c56b-0395-495d-81c1-83208d36944d357hqdd0/croots/recipe/locket_1652903116052/work
164
+ lxml @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_1902c961-4bd2-4871-a3c5-70b7317a6521kpj7nz2o/croots/recipe/lxml_1657545138937/work
165
+ lz4 @ file:///Users/builder/ci_310/lz4_1642617904470/work
166
+ magic-filter==1.0.12
167
+ Markdown @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_90m_zl2p10/croot/markdown_1671541913695/work
168
+ MarkupSafe @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_d4a9444f-bd4c-4043-b47d-cede33979b0fve7bm42r/croots/recipe/markupsafe_1654597878200/work
169
+ matplotlib==3.8.4
170
+ matplotlib-inline @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_9ddl71oqte/croots/recipe/matplotlib-inline_1662014471815/work
171
+ mccabe @ file:///opt/conda/conda-bld/mccabe_1644221741721/work
172
+ mistune @ file:///Users/builder/ci_310/mistune_1642534169737/work
173
+ mock @ file:///tmp/build/80754af9/mock_1607622725907/work
174
+ mpmath==1.2.1
175
+ msgpack @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_8471ad7f-dce1-4146-86d4-c2864258a94duzpja450/croots/recipe/msgpack-python_1652362671722/work
176
+ multidict==6.0.4
177
+ multipledispatch @ file:///Users/builder/ci_310/multipledispatch_1642534313902/work
178
+ multiprocess==0.70.16
179
+ munkres==1.1.4
180
+ mypy-extensions==0.4.3
181
+ navigator-updater==0.3.0
182
+ nbclassic @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_7c3czojxw1/croot/nbclassic_1676902906096/work
183
+ nbclient @ file:///opt/concourse/worker/volumes/live/7d38d6af-a5d4-4a2f-68ef-fc787e52a70c/volume/nbclient_1650308404062/work
184
+ nbconvert @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_8fyzuglni_/croot/nbconvert_1668450649428/work
185
+ nbformat @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_2daun1fill/croot/nbformat_1670352339504/work
186
+ nest-asyncio @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_64pfm74mxq/croot/nest-asyncio_1672387129786/work
187
+ networkx @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_6afc8f17-1d67-4285-b2c6-55302f6d1d829k5owdkh/croots/recipe/networkx_1657784106447/work
188
+ nltk @ file:///opt/conda/conda-bld/nltk_1645628263994/work
189
+ notebook @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_0cdyriuhi_/croot/notebook_1668179888986/work
190
+ notebook_shim @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_e9s6zsmlb7/croot/notebook-shim_1668160584892/work
191
+ numba @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_c92mj5bbmo/croot/numba_1670258342205/work
192
+ numexpr @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_cef3ah6r8w/croot/numexpr_1668713880672/work
193
+ numpy==1.23.5
194
+ numpydoc @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_adnyzxppoz/croot/numpydoc_1668085907252/work
195
+ omegaconf==2.3.0
196
+ onnxruntime==1.15.1
197
+ opencv-python==4.8.1.78
198
+ openpyxl==3.0.10
199
+ packaging @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_bet5qdixgt/croot/packaging_1671697440883/work
200
+ pandas==2.1.4
201
+ pandocfilters @ file:///opt/conda/conda-bld/pandocfilters_1643405455980/work
202
+ panel @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_322acgj3m3/croot/panel_1676379716424/work
203
+ param @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_80mcku02cs/croot/param_1671697433569/work
204
+ parsel @ file:///opt/concourse/worker/volumes/live/3047b519-0844-41b9-414f-b8d11ceffa6b/volume/parsel_1646739989150/work
205
+ parso @ file:///opt/conda/conda-bld/parso_1641458642106/work
206
+ partd @ file:///opt/conda/conda-bld/partd_1647245470509/work
207
+ pathlib @ file:///Users/ktietz/demo/mc3/conda-bld/pathlib_1629713961906/work
208
+ pathspec @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_b8rj_doxjl/croot/pathspec_1674681570418/work
209
+ patsy==0.5.3
210
+ pdf2image==1.17.0
211
+ pep8==1.7.1
212
+ pexpect @ file:///tmp/build/80754af9/pexpect_1605563209008/work
213
+ pickleshare @ file:///tmp/build/80754af9/pickleshare_1606932040724/work
214
+ Pillow==9.4.0
215
+ pipenv==2024.0.1
216
+ pkginfo @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_9aeuxsywo9/croot/pkginfo_1666725052115/work
217
+ platformdirs==4.2.2
218
+ plotly @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_b7601a7c-071f-4424-ad46-f00f32c1766ccwgx0ywh/croots/recipe/plotly_1658160061089/work
219
+ pluggy @ file:///opt/concourse/worker/volumes/live/8277900c-164a-49c8-6f2a-f55c3c0154be/volume/pluggy_1648042581708/work
220
+ ply==3.11
221
+ pooch @ file:///tmp/build/80754af9/pooch_1623324770023/work
222
+ poyo @ file:///tmp/build/80754af9/poyo_1617751526755/work
223
+ prometheus-client @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_19kjbndib7/croots/recipe/prometheus_client_1659455105394/work
224
+ prompt-toolkit @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_82emz7mook/croot/prompt-toolkit_1672387300396/work
225
+ Protego @ file:///tmp/build/80754af9/protego_1598657180827/work
226
+ protobuf==4.24.3
227
+ psutil @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_c9b604bf-685f-47f6-8304-238e4e70557e1o7mmsot/croots/recipe/psutil_1656431274701/work
228
+ ptyprocess @ file:///tmp/build/80754af9/ptyprocess_1609355006118/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
229
+ punctuators==0.0.5
230
+ pure-eval @ file:///opt/conda/conda-bld/pure_eval_1646925070566/work
231
+ py @ file:///opt/conda/conda-bld/py_1644396412707/work
232
+ pyarrow==19.0.0
233
+ pyasn1 @ file:///Users/ktietz/demo/mc3/conda-bld/pyasn1_1629708007385/work
234
+ pyasn1-modules==0.2.8
235
+ pycodestyle @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_a7riaf725h/croot/pycodestyle_1674267226642/work
236
+ pycosat @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_ebsmghz9nu/croot/pycosat_1666805511853/work
237
+ pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work
238
+ pyct @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_72mj2vy1q8/croot/pyct_1675441497227/work
239
+ pycurl==7.45.1
240
+ pydantic==2.5.2
241
+ pydantic_core==2.14.5
242
+ PyDispatcher==2.0.5
243
+ pydocstyle @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_17qm6coxyl/croot/pydocstyle_1675221687004/work
244
+ pydub==0.25.1
245
+ pyerfa @ file:///Users/builder/ci_310/pyerfa_1642535752787/work
246
+ pyflakes @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_a87qrne4ps/croot/pyflakes_1674165135821/work
247
+ Pygments @ file:///opt/conda/conda-bld/pygments_1644249106324/work
248
+ PyHamcrest @ file:///tmp/build/80754af9/pyhamcrest_1615748656804/work
249
+ PyJWT @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_eec47dd9-fcc8-4e06-bbca-6138d11dbbcch6zasfc4/croots/recipe/pyjwt_1657544589510/work
250
+ pylint @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_b4nhjj9cv2/croot/pylint_1676919902809/work
251
+ pylint-venv @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_b7r_te6b8v/croot/pylint-venv_1673990131095/work
252
+ pyls-spyder==0.4.0
253
+ pyobjc-core @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_6cxketn_6t/croot/pyobjc-core_1678038360162/work
254
+ pyobjc-framework-Cocoa @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_e0kw2fmem5/croot/pyobjc-framework-cocoa_1678108288001/work
255
+ pyobjc-framework-CoreServices @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_66xmx_crni/croot/pyobjc-framework-coreservices_1678110076933/work
256
+ pyobjc-framework-FSEvents @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_3c5ojsv0pb/croot/pyobjc-framework-fsevents_1678109237172/work
257
+ pyodbc @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_18mhb222la/croots/recipe/pyodbc_1659513803477/work
258
+ pyOpenSSL @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_6dweji2whw/croot/pyopenssl_1677607689781/work
259
+ pyparsing @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_3a17y2delq/croots/recipe/pyparsing_1661452538853/work
260
+ PyQt5-sip==12.11.0
261
+ pyrsistent @ file:///Users/builder/ci_310/pyrsistent_1642541562041/work
262
+ PySocks @ file:///Users/builder/ci_310/pysocks_1642536366386/work
263
+ pytest==7.1.2
264
+ python-dateutil @ file:///tmp/build/80754af9/python-dateutil_1626374649649/work
265
+ python-docx==0.8.11
266
+ python-lsp-black @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_14xl6hg757/croots/recipe/python-lsp-black_1661852036282/work
267
+ python-lsp-jsonrpc==1.0.0
268
+ python-lsp-server @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_531urnuffy/croot/python-lsp-server_1677296764616/work
269
+ python-slugify @ file:///tmp/build/80754af9/python-slugify_1620405669636/work
270
+ python-snappy @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_ce5mef9jcb/croot/python-snappy_1670943918530/work
271
+ pytoolconfig @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_74xa7iol6y/croot/pytoolconfig_1676315055960/work
272
+ pytz @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_ddzpsmm2_f/croot/pytz_1671697430473/work
273
+ pyviz-comms @ file:///tmp/build/80754af9/pyviz_comms_1623747165329/work
274
+ PyWavelets @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_4d73vf63_v/croot/pywavelets_1670425181052/work
275
+ PyYAML @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_79xo15pf1i/croot/pyyaml_1670514753622/work
276
+ pyzmq @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_15f7a459-ad98-422b-b8da-cbf1f626e2115nt0ocwy/croots/recipe/pyzmq_1657724193704/work
277
+ QDarkStyle @ file:///tmp/build/80754af9/qdarkstyle_1617386714626/work
278
+ qstylizer @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_62ggzh57e5/croot/qstylizer_1674008533737/work/dist/qstylizer-0.2.2-py2.py3-none-any.whl
279
+ QtAwesome @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_c3r2cl58uu/croot/qtawesome_1674008694812/work
280
+ qtconsole @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_acf6cfsn_t/croot/qtconsole_1674008438217/work
281
+ QtPy @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_4e5ppuhz0f/croots/recipe/qtpy_1662014536017/work
282
+ queuelib==1.5.0
283
+ regex @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_978efa21-43f5-4f43-9f25-acd8393817ddce2xcjaf/croots/recipe/regex_1658257186496/work
284
+ requests==2.32.3
285
+ requests-file @ file:///Users/ktietz/demo/mc3/conda-bld/requests-file_1629455781986/work
286
+ resampy==0.4.3
287
+ rope @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_a1cscuw3z1/croot/rope_1676675020784/work
288
+ rsa==4.9
289
+ Rtree @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_63tcmfd_qs/croot/rtree_1675157862667/work
290
+ ruamel-yaml-conda @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_bam8guxx00/croot/ruamel_yaml_1667489733295/work
291
+ ruamel.yaml @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_7de1zqcaou/croot/ruamel.yaml_1666304553877/work
292
+ ruamel.yaml.clib @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_c7s0zxy4t2/croot/ruamel.yaml.clib_1666302244557/work
293
+ scikit-image @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_c5gfw0_uou/croot/scikit-image_1669241745874/work
294
+ scikit-learn @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_a65wfgtmmc/croot/scikit-learn_1676911655056/work
295
+ scipy==1.10.0
296
+ Scrapy @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_e3ee_jfvk4/croot/scrapy_1677738191966/work
297
+ seaborn @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_73qom8fm82/croot/seaborn_1673479206328/work
298
+ Send2Trash @ file:///tmp/build/80754af9/send2trash_1632406701022/work
299
+ sentencepiece==0.1.99
300
+ service-identity @ file:///Users/ktietz/demo/mc3/conda-bld/service_identity_1629460757137/work
301
+ sip @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_88z1zrsfrf/croots/recipe/sip_1659012373083/work
302
+ six @ file:///tmp/build/80754af9/six_1644875935023/work
303
+ smart-open @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_27148096-9ddc-448c-830e-fb4829d46f5dwl2am402/croots/recipe/smart_open_1651563554983/work
304
+ sniffio @ file:///Users/builder/ci_310/sniffio_1642537651147/work
305
+ snowballstemmer @ file:///tmp/build/80754af9/snowballstemmer_1637937080595/work
306
+ sortedcontainers @ file:///tmp/build/80754af9/sortedcontainers_1623949099177/work
307
+ soundfile==0.12.1
308
+ soupsieve @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_14fb2zs6e3/croot/soupsieve_1666296397588/work
309
+ soxr==0.3.5
310
+ SpeechRecognition==3.10.0
311
+ Sphinx @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_5d9f8d69-b80c-4ca1-8876-1698c70b1faeqe461tx8/croots/recipe/sphinx_1657784127805/work
312
+ sphinxcontrib-applehelp @ file:///home/ktietz/src/ci/sphinxcontrib-applehelp_1611920841464/work
313
+ sphinxcontrib-devhelp @ file:///home/ktietz/src/ci/sphinxcontrib-devhelp_1611920923094/work
314
+ sphinxcontrib-htmlhelp @ file:///tmp/build/80754af9/sphinxcontrib-htmlhelp_1623945626792/work
315
+ sphinxcontrib-jsmath @ file:///home/ktietz/src/ci/sphinxcontrib-jsmath_1611920942228/work
316
+ sphinxcontrib-qthelp @ file:///home/ktietz/src/ci/sphinxcontrib-qthelp_1611921055322/work
317
+ sphinxcontrib-serializinghtml @ file:///tmp/build/80754af9/sphinxcontrib-serializinghtml_1624451540180/work
318
+ spyder @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_779n9e1i37/croot/spyder_1677776134914/work
319
+ spyder-kernels @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_53u0rf_gee/croot/spyder-kernels_1673292246776/work
320
+ SQLAlchemy @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_47054e44-1f88-4a8b-9ca4-67b36ce38181xyx8z2m5/croots/recipe/sqlalchemy_1657867866169/work
321
+ sqlparse==0.4.3
322
+ stack-data @ file:///opt/conda/conda-bld/stack_data_1646927590127/work
323
+ statsmodels @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_17u03af815/croot/statsmodels_1676648740241/work
324
+ sympy @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_6dq9olsd7l/croot/sympy_1668202399031/work
325
+ tables @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_41iotzcbuk/croot/pytables_1673967664663/work
326
+ tabulate @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_a6553360-8167-4574-96ae-f76ab756a64bn2vcri8q/croots/recipe/tabulate_1657784111302/work
327
+ TBB==0.2
328
+ tblib @ file:///Users/ktietz/demo/mc3/conda-bld/tblib_1629402031467/work
329
+ tenacity @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_15d3bbab-3059-4048-adcb-986fb2669dd5nujdx5qd/croots/recipe/tenacity_1657899116644/work
330
+ terminado @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_18_p3gbeio/croot/terminado_1671751835656/work
331
+ text-unidecode @ file:///Users/ktietz/demo/mc3/conda-bld/text-unidecode_1629401354553/work
332
+ textdistance @ file:///tmp/build/80754af9/textdistance_1612461398012/work
333
+ threadpoolctl @ file:///Users/ktietz/demo/mc3/conda-bld/threadpoolctl_1629802263681/work
334
+ three-merge @ file:///tmp/build/80754af9/three-merge_1607553261110/work
335
+ tifffile @ file:///tmp/build/80754af9/tifffile_1627275862826/work
336
+ tinycss2 @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_56dshjmms6/croot/tinycss2_1668168824483/work
337
+ tldextract @ file:///opt/conda/conda-bld/tldextract_1646638314385/work
338
+ tokenizers @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_268e8965-102b-48a5-a916-a216550453a11s7pxtzt/croots/recipe/tokenizers_1651822590419/work
339
+ toml @ file:///tmp/build/80754af9/toml_1616166611790/work
340
+ tomli @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_90762ba4-f339-47e8-bd29-416854a59b233d27hku_/croots/recipe/tomli_1657175507767/work
341
+ tomlkit @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_5fgtm9if1m/croots/recipe/tomlkit_1658946891645/work
342
+ toolz @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_a7gkswah88/croot/toolz_1667464082910/work
343
+ torch==1.12.1
344
+ tornado @ file:///Users/builder/ci_310/tornado_1642538510757/work
345
+ tqdm==4.67.1
346
+ traitlets @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_0dtilxc0bw/croot/traitlets_1671143889152/work
347
+ transformers @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_0fwztwlw96/croot/transformers_1667921642940/work
348
+ Twisted @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_daykstm3mh/croots/recipe/twisted_1659592770155/work
349
+ typing_extensions==4.8.0
350
+ tzdata==2023.3
351
+ ujson @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_cf44fbd5-5db0-48cf-86c4-c8d4e74d1cbbwhgckc99/croots/recipe/ujson_1657544919410/work
352
+ Unidecode @ file:///tmp/build/80754af9/unidecode_1614712377438/work
353
+ urllib3 @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_4cyi6_u2vj/croot/urllib3_1673575523861/work
354
+ virtualenv==20.26.3
355
+ w3lib @ file:///Users/ktietz/demo/mc3/conda-bld/w3lib_1629359764703/work
356
+ watchdog @ file:///Users/builder/ci_310/watchdog_1642516765439/work
357
+ wcwidth @ file:///Users/ktietz/demo/mc3/conda-bld/wcwidth_1629357192024/work
358
+ webencodings==0.5.1
359
+ websocket-client @ file:///Users/builder/ci_310/websocket-client_1642513572726/work
360
+ Werkzeug @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_322nlonnpf/croot/werkzeug_1671215993374/work
361
+ whatthepatch @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_0aabmq0ph3/croots/recipe/whatthepatch_1661795995892/work
362
+ whisper==1.1.10
363
+ widgetsnbextension @ file:///opt/concourse/worker/volumes/live/175ee5c5-481f-469a-5bad-6f1ca1bb7391/volume/widgetsnbextension_1645009367053/work
364
+ wrapt @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_1ade1f68-8354-4db8-830b-ff3072015779vd_2hm7k/croots/recipe/wrapt_1657814407132/work
365
+ wurlitzer @ file:///Users/builder/ci_310/wurlitzer_1642539193810/work
366
+ xarray @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_6eng0foshn/croot/xarray_1668776588572/work
367
+ xlwings @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_5fyuabttsg/croot/xlwings_1677024161376/work
368
+ xxhash==3.5.0
369
+ yapf @ file:///tmp/build/80754af9/yapf_1615749224965/work
370
+ yarl==1.9.4
371
+ zict==2.1.0
372
+ zipp @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_b71z79bye2/croot/zipp_1672387125902/work
373
+ zope.interface @ file:///Users/builder/ci_310/zope.interface_1642542202636/work
374
+ zstandard @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_40ayfv1xn6/croot/zstandard_1677014126754/work
sp.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7f944d0be93b275f62e1913fd409f378ddbba108e57fe4a9cb47e8c047f6bef1
3
+ size 5069059
test_copy.py ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ import onnxruntime as ort
3
+ from huggingface_hub import hf_hub_download
4
+ from omegaconf import OmegaConf
5
+ from sentencepiece import SentencePieceProcessor
6
+ from typing import List
7
+
8
+ def process_text(input_text: str) -> str:
9
+ spe_path = "sp.model" # Путь к файлу SentencePieceProcessor
10
+ tokenizer: SentencePieceProcessor = SentencePieceProcessor(spe_path)
11
+
12
+ # Загрузка ONNX модели
13
+ onnx_path = "model.onnx" # Путь к файлу ONNX модели
14
+ ort_session: ort.InferenceSession = ort.InferenceSession(onnx_path)
15
+
16
+ # Загрузка конфигурации модели с метками, параметрами и др.
17
+ config_path = "config.yaml" # Путь к файлу конфигурации модели
18
+ config = OmegaConf.load(config_path)
19
+ # Возможные метки классификации перед каждым подтокеном
20
+ pre_labels: List[str] = config.pre_labels
21
+ # Возможные метки классификации после каждого подтокена
22
+ post_labels: List[str] = config.post_labels
23
+ # Специальный класс, который означает "ничего не предсказывать"
24
+ null_token = config.get("null_token", "<NULL>")
25
+ # Специальный класс, который означает "все символы в этом подтокене заканчиваются точкой", например, "am" -> "a.m."
26
+ acronym_token = config.get("acronym_token", "<ACRONYM>")
27
+ # Не используется в этом примере, но если ваша последовательность превышает это значение, вам нужно разделить ее на несколько входов
28
+ max_len = config.max_length
29
+ # Для справки: граф не имеет языковой специфики
30
+ languages: List[str] = config.languages
31
+
32
+ # Кодирование входного текста, добавление BOS + EOS
33
+ input_ids = [tokenizer.bos_id()] + tokenizer.EncodeAsIds(input_text) + [tokenizer.eos_id()]
34
+
35
+ # Создание массива numpy с формой [B, T], как ожидается входом графа.
36
+ input_ids_arr: np.array = np.array([input_ids])
37
+
38
+ # Запуск графа, получение результатов для всех аналитических данных
39
+ pre_preds, post_preds, cap_preds, sbd_preds = ort_session.run(None, {"input_ids": input_ids_arr})
40
+ # Убираем измерение пакета и преобразуем в списки
41
+ pre_preds = pre_preds[0].tolist()
42
+ post_preds = post_preds[0].tolist()
43
+ cap_preds = cap_preds[0].tolist()
44
+ sbd_preds = sbd_preds[0].tolist()
45
+
46
+ # Обработка текста как ранее
47
+ output_texts: List[str] = []
48
+ current_chars: List[str] = []
49
+
50
+ for token_idx in range(1, len(input_ids) - 1):
51
+ token = tokenizer.IdToPiece(input_ids[token_idx])
52
+ if token.startswith("▁") and current_chars:
53
+ current_chars.append(" ")
54
+ # Token-level predictions
55
+ pre_label = pre_labels[pre_preds[token_idx]]
56
+ post_label = post_labels[post_preds[token_idx]]
57
+ # If we predict "pre-punct", insert it before this token
58
+ if pre_label != null_token:
59
+ current_chars.append(pre_label)
60
+ # Iterate over each char. Skip SP's space token,
61
+ char_start = 1 if token.startswith("▁") else 0
62
+ for token_char_idx, char in enumerate(token[char_start:], start=char_start):
63
+ # If this char should be capitalized, apply upper case
64
+ if cap_preds[token_idx][token_char_idx]:
65
+ char = char.upper()
66
+ # Append char
67
+ current_chars.append(char)
68
+ # if this is an acronym, add a period after every char (p.m., a.m., etc.)
69
+ if post_label == acronym_token:
70
+ current_chars.append(".")
71
+ # Maybe this subtoken ends with punctuation
72
+ if post_label != null_token and post_label != acronym_token:
73
+ current_chars.append(post_label)
74
+
75
+ # If this token is a sentence boundary, finalize the current sentence and reset
76
+ if sbd_preds[token_idx]:
77
+ output_texts.append("".join(current_chars))
78
+ current_chars.clear()
79
+
80
+ # Добавляем последний токен
81
+ output_texts.append("".join(current_chars))
82
+
83
+ # Возвращаем обработанный текст
84
+ return "\n".join(output_texts)
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+