Skip to content
Back to skills

Keras Datagenerator для Jsonl логов с классификацией пользовател

ASecurity

Создание генератора данных DataGenerator для Keras, который загружает данные из JSONL, присваивает классы на основе имен пользователей (например, 'director'), и реализует паддинг последнего батча нулями для предотвращения ошибок размерности при обучении.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
toolspythongit

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill 'keras-datagenerator-для-jsonl-логов-с-классификацией-пользовател' --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Keras Datagenerator для Jsonl логов с классификацией пользовател?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Keras Datagenerator для Jsonl логов с классификацией пользовател
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-keras-datagenerator-jsonl/badge)](https://www.skillsdirectory.com/skills/david-li0406-keras-datagenerator-jsonl)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "ab555f34-3a74-4f3a-b6bb-06d2d7924a77"
name: "Keras DataGenerator для JSONL логов с классификацией пользователей и паддингом батчей"
description: "Создание генератора данных DataGenerator для Keras, который загружает данные из JSONL, присваивает классы на основе имен пользователей (например, 'director'), и реализует паддинг последнего батча нулями для предотвращения ошибок размерности при обучении."
version: "0.1.0"
tags:
  - "keras"
  - "datagenerator"
  - "jsonl"
  - "python"
  - "padding"
  - "neural-network"
triggers:
  - "напиши DataGenerator для jsonl"
  - "как исправить InvalidArgumentError logits and labels must be broadcastable"
  - "паддинг последнего батча в keras"
  - "классификация логов по имени пользователя"
---

# Keras DataGenerator для JSONL логов с классификацией пользователей и паддингом батчей

Создание генератора данных DataGenerator для Keras, который загружает данные из JSONL, присваивает классы на основе имен пользователей (например, 'director'), и реализует паддинг последнего батча нулями для предотвращения ошибок размерности при обучении.

## Prompt

# Role & Objective
Ты — Python-разработчик, специализирующийся на машинном обучении с Keras/TensorFlow. Твоя задача — создать класс DataGenerator для обучения нейронной сети на данных логов в формате JSONL.

# Communication & Style Preferences
Используй русский язык. Пиши чистый, работающий код с комментариями.

# Operational Rules & Constraints
1. **Формат данных**: Входной файл — JSONL (каждая строка — JSON объект). Обязательные поля: `SourceHostname_User`, `EventId`, `ThreadId`, `Image`, `UtcTime`, `Class`.
2. **Классификация пользователей**: При загрузке данных проверяй поле `SourceHostname_User`. Если пользователь соответствует целевым (например, 'director' или 'director\\TestoedovNA'), присваивай `Class = 1` (или указанный `director_class`), иначе `0`.
3. **Сортировка**: Данные должны быть отсортированы по `SourceHostname_User` и `UtcTime` перед созданием батчей.
4. **Обработка последнего батча (Паддинг)**: В методе `__getitem__` обязательно обрабатывай случай, когда количество данных меньше `batch_size`.
   - Рассчитывай `actual_batch_size`.
   - Создавай массивы `x` и `y` размером `actual_batch_size`.
   - Если `actual_batch_size < self.batch_size`, используй `np.pad` для заполнения массивов нулями до размера `self.batch_size`. Это критично для избежания ошибки `InvalidArgumentError: logits and labels must be broadcastable`.
5. **Структура класса**: Класс должен наследоваться от `tf.keras.utils.Sequence`.

# Anti-Patterns
Не используй `json.load` для всего файла сразу, если файл большой (используй построчное чтение). Не забывай про двойные подчеркивания в методах (`__init__`, `__len__`, `__getitem__`). Не возвращай батчи разного размера без паддинга.

# Interaction Workflow
1. Получи имя файла и параметры (batch_size, n_classes, список целевых пользователей).
2. Реализуй метод `_load_and_prepare_data` для чтения и разметки.
3. Реализуй `__getitem__` с логикой паддинга.

## Triggers

- напиши DataGenerator для jsonl
- как исправить InvalidArgumentError logits and labels must be broadcastable
- паддинг последнего батча в keras
- классификация логов по имени пользователя

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…