<jupyter_start><jupyter_text><jupyter_code>from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Conv2D, MaxPooling2D
from tensorflow.python.keras.layers import Activation, Dropout, Flatten, Dense
model = Sequential()
model.add(Conv2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(64, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.compile(loss='binary_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

# Каталог с данными для обучения
train_dir = 'train'
# Каталог с данными для проверки
val_dir = 'validation'
# Каталог с данными для тестирования
test_dir = 'test'
# Размеры изображения
img_width, img_height = 1280, 720
# Размерность тензора на основе изображения для входных данных в нейронную сеть
# backend Tensorflow, channels_last
input_shape = (img_width, img_height, 3)
# Количество эпох
epochs = 30
# Размер мини-выборки
batch_size = 10
# Количество изображений для обучения
nb_train_samples = 20
# Количество изображений для проверки
nb_validation_samples = 20
# Количество изображений для тестирования
nb_test_samples = 20
datagen = ImageDataGenerator(rescale=1. / 255)
(X_train, y_train), (X_test, y_test) = cifar10.load_data()
train_generator = datagen.flow_from_directory(
    C:\Users\Alex\not_hacking_dataset\train,
    target_size=(img_width, img_height),
    batch_size=batch_size,
    class_mode='binary')
test_generator = datagen.flow_from_directory(
    test_dir,
    target_size=(img_width, img_height),
    batch_size=batch_size,
    class_mode='binary')
model.fit_generator(
    train_generator,
    steps_per_epoch=nb_train_samples // batch_size,
    epochs=epochs,
    validation_data=val_generator,
    validation_steps=nb_validation_samples // batch_size)
scores = model.evaluate_generator(test_generator, nb_test_samples // batch_size)
print("Аккуратность на тестовых данных: %.2f%%" % (scores[1]*100))<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11839323467230443, 'fraction_numerical': 0.02536997885835095, 'mean_word_length': 6.28, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '392150', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 898, 'n_tokens_neox': 908, 'n_words': 160, 'path': 'divancode.ipynb', 'repo_name': 'alehvalynets/content-stream', 'size': '2365'}