Skip to content

Instantly share code, notes, and snippets.

View cnstntn-kndrtv's full-sized avatar
🌍

Constantin Kondratyev cnstntn-kndrtv

🌍
View GitHub Profile
@fomvasss
fomvasss / Проектирование Rest API.txt
Last active March 22, 2024 19:13
Проектирование API.txt
Аббревиатура REST расшифровывается как representational state transfer — «передача состояния представления» или, лучше сказать, представление данных в удобном для клиента формате. Термин “REST” был введен Роем Филдингом в 2000 г. Основная идея REST в том, что каждое обращение к сервису переводит клиентское приложение в новое состояние. По сути, REST — не протокол и не стандарт, а подход, архитектурный стиль проектирования API.
Любой ресурс имеет ID, по которому можно получить данные.
Сервер не хранит состояние — это значит, сервер не отделяет один вызов от другого, не сохраняет все сессии в памяти.
Методы POST и PUT должны возвращать обратно объект, который они изменили или создали, — это позволит сократить время обращения к сервису вдвое.
Возвращайте соответствующие http коды статуса в каждом ответе. Успешные ответы должны содержать следующие коды:
200 — для GET запроса и для синхронных DETELE и PATCH
201 — для синхронного POST запроса
202 — для асинхронных POST, DELETE и PATCH запросов
@ines
ines / Install
Last active September 21, 2023 17:14
Streamlit + spaCy
pip install streamlit
pip install spacy
python -m spacy download en_core_web_sm
python -m spacy download en_core_web_md
python -m spacy download de_core_news_sm

Как сжать модель fastText в 100 раз

Модель fastText - одно из самых эффективных векторных представлений слов для русского языка. Однако её прикладная польза страдает из-за внушительных (несколько гигабайт) размеров модели. В этой статье мы показываем, как можно уменьшить модель fastText до пары десятков мегабайт, не слишком потеряв в её качестве. Спойлер: квантизация и отбор признаков работают хорошо, а матричные разложения - не очень. Также мы публикуем пакет на Python для этого сжатия и пример компактной модели для русских слов.

Зачем и о чём это

Я не первый, кто пытается это сжать fastText: сами разработчики fastText давно предусмотрели этот режим для своих классификаторов, сжимая их на порядк

def iter_group(queue):
buf = []
prev_key = None
for val in queue:
cur_key, cur_val = val
#print cur_key, cur_val
if cur_key == prev_key or prev_key is None:
buf.append(cur_val)
else:
@YiLi225
YiLi225 / setSeed.py
Last active October 22, 2021 07:53
### 6. Set random seed
def reset_random_seeds(CUR_SEED=1234):
os.environ['PYTHONHASHSEED']=str(CUR_SEED)
tensorflow.random.set_seed(CUR_SEED)
numpy.random.seed(CUR_SEED)
random.seed(CUR_SEED)
torch.manual_seed(CUR_SEED)
torch.cuda.manual_seed(CUR_SEED)
torch.cuda.manual_seed_all(CUR_SEED)
torch.backends.cudnn.deterministic = True