Создайте простую модель тензорного потока Hello world для тестирования версии 2.1.0 тензорного потока.

Первое обновление версии pip до последней

!pip install --upgrade pip

Теперь проверьте версию tensorflow, чтобы убедиться, что у нас правильная версия.

import tensorflow as tf print(tf.__version__)

Если вы столкнулись с проблемами, проверьте ошибки для пакетов зависимостей и установите их с помощью pip. Когда я создал вычислительный экземпляр, у меня была версия 2.1.0.

Чтобы установить тензорный поток

pip install --upgrade tensorflow

Здесь вы можете найти последнюю версию пакетов tensorflow.

https://www.tensorflow.org/install/pip

Вышеупомянутое предназначено для установки необходимых пакетов.

Теперь пора приступить к кодированию.

пример привет мир

импортировать пакет tenforflow.

import tensorflow as tf

Загрузите набор данных и разделите его для обучения и тестирования.

mnist = tf.keras.datasets.mnist 
(x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0

Теперь создайте архитектуру глубокой нейронной сети.

model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10) ])

Теперь обучите модель

predictions = model(x_train[:1]).numpy() predictions

Преобразовать в классы вероятностей

tf.nn.softmax(predictions).numpy()

Потери loss.SparseCategoricalCrossentropy принимают вектор логитов и индекс True и возвращают скалярные потери для каждого примера.

loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)

Эта необученная модель дает вероятности, близкие к случайным (1/10 для каждого класса), поэтому начальная потеря должна быть близка к -tf.log(1/10) ~= 2,3.

loss_fn(y_train[:1], predictions).numpy()
model.compile(optimizer='adam', loss=loss_fn, metrics=['accuracy'])

Метод Model.fit корректирует параметры модели, чтобы минимизировать потери:

model.fit(x_train, y_train, epochs=5)

Оцените модель с тестовыми данными

model.evaluate(x_test, y_test, verbose=2)

Если вы хотите, чтобы ваша модель возвращала вероятность, вы можете обернуть обученную модель и прикрепить к ней softmax:

probability_model = tf.keras.Sequential([ model, tf.keras.layers.Softmax() ])

Показать вывод

probability_model(x_test[:5])

Конец образца.

Первоначально опубликовано на https://github.com.