Создайте простую модель тензорного потока 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.