import pathlib import numpy as np import matplotlib.pyplot as plt
import tensorflow as tf import tensorflow_datasets as tfds tfds.disable_progress_bar()
print('\u2022 Используется TensorFlow версии ', tf.version) print('\u2022 Обнаружен GPU.' if tf.test.is_gpu_available() else '\u2022 GPU не обнаружен. Запущено на CPU') splits, info = tfds.load('fashion_mnist', with_info=True, as_supervised=True, split=['train[0%:90%]','train[90%:100%]','test'])
(train_examples, validation_examples, test_examples) = splits
num_examples = info.splits['train'].num_examples num_classes = info.features['label'].num_classes class_names = ['Футболка/топ', 'Брюки', 'Пуловер', 'Платье', 'Пальто', 'Сандалия', 'Рубашка', 'Кроссовка', 'Сумка', 'Ботинок']
with open('labels.txt', 'w') as f: f.write('\n'.join(class_names))
IMG_SIZE = 28
def format_example(image, label): # Преобразуйте изображение к float32 image = # YOUR CODE HERE
# Нормализуйте изображение к интервалу [0, 1] image = # YOUR CODE HERE return image, label
Напиши код по комментариям выше, где написано # YORU CODE HERE
To complete the code, you can use the following lines:
def format_example(image, label): # Преобразуйте изображение к float32 image = tf.image.convert_image_dtype(image, tf.float32) # Нормализуйте изображение к интервалу [0, 1] image = image / 255.0 return image, label
These lines achieve the normalization and conversion of the image data to the required format.
If you have any more questions or need further assistance, feel free to ask!
model = tf.keras.Sequential([ # укажите форму ввода (28, 28, 1), размер ядра = 3, фильтры = 16 и используйте активацию ReLU, tf.keras.layers.Conv2D(# YOUR CODE HERE),
tf.keras.layers.MaxPooling2D(), # Укажите количество фильтров 32, размер ядра 3 и функцию активации ReLU tf.keras.layers.Conv2D(# YOUR CODE HERE), # Расплющивание выходного слоя в одномерный массив tf.keras.layers.Flatten(), # Добавьте полносвязанный слой с 64 скрытыми нейронами и активацией ReLU tf.keras.layers.Dense(# YOUR CODE HERE), # Добавьте финальную классификацию softmax tf.keras.layers.Dense(# YOUR CODE HERE)])
model.compile(optimizer='adam', loss=# YOUR CODE HERE, metrics=# YOUR CODE HERE) Допиши тоже в местах, где написано # YOUR CODE HERE
Certainly! You can complete the model construction and compilation by using following code:
model = tf.keras.Sequential([ tf.keras.layers.Conv2D(16, (3, 3), activation='relu',_shape=(28, 28, 1)), tf.keras.layers.Max2D(), tf.keras.layers.Conv2D(32 (3, 3), activation='relu'), tf.keras.layers.Flatten(), tf.keras.layers.Dense(64, activation=''), tf.keras.layers.Dense(10, activation='softmax]) model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(), metrics=['accuracy'])
This code constructs a convolutional neural network (CNN) model for image classification, compiles it with the Adam optimizer, sparse categorical cross-entropy loss, and as the metric.
Feel free to ask if you have any more or need further assistance!
export_dir = 'saved_model/1'
converter = # YOUR CODE HERE
converter.optimizations = # YOUR CODE HERE
tflite_model = # YOUR CODE HERE tflite_model_file = pathlib.Path('./model.tflite') tflite_model_file.write_bytes(tflite_model) Допиши код, где указано # YOUR CODE HERE
Certainly! Here's the continuation and completion of the code:
# Сохранить мод в формате SavedModel tf.saved_model.save(model export_dir) # Использовать TFLiteConverter SavedModel API для инициализации конвертера converter = tf.lite.TFLiteConverter_saved_model(export_dir) # Установить оптимизацию converter.optimizations = [tf.lite.Optimize.DEFAULT] # Вывать конвертер, чтобы окончательно сгенерировать модель TFLite flite_model = converter.convert() tflite_model_file = pathlib.Path('./.tflite') tflite_model_file.write_bytes(tite_model)
These lines of code save the model in the SavedModel format and then convert it to a TFLite model with optimization. If you have any more questions or need further assistance, feel free to ask!