Модель Tensorflow из самого первого урока не работает, как ожидалось - PullRequest
0 голосов
/ 22 февраля 2019

Попытка начать изучение тензорного потока с помощью учебников.Началось с 1-го (конечно), и по какой-то причине, когда я пытаюсь изучить модель, она показывает число потерь между 10 и 12, а число точности составляет 0,2 и 0,3, но в уроках очень разные.Раньше у меня были некоторые проблемы с установкой tenorflow, когда я пытался заставить работать с ним gpu, но я получал только ошибки, поэтому я переустановил его только с поддержкой cpu (пакет python-tenorflow archlinux).Но также я получаю 2019-02-22 19:18:02.042566: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA ошибку.Я не знаю, так ли это.

Мой код:

import tensorflow as tf
from tensorflow import keras

import numpy as np
import matplotlib.pyplot as plt


fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
               'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(128, activation=tf.nn.relu),
    keras.layers.Dense(10, activation=tf.nn.softmax)
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(train_images, train_labels, epochs=5)

test_loss, test_acc = model.evaluate(test_images, test_labels)

print('Test accuracy:', test_acc)

Заранее спасибо!

1 Ответ

0 голосов
/ 22 февраля 2019

Ваш ЦП поддерживает инструкции, которые этот двоичный файл TensorFlow не был скомпилирован для использования: SSE4.1 SSE4.2 AVX AVX2 FMA Это всего лишь предупреждение о том, что вы можете скомпилировать из исходного кода и иметь возможность использовать его.

Что касается вашей модели, то все в порядке, но если вы нормализуете входные данные, вы получите точность 70%

train_images = train_images.astype('float32') / 255
test_images = test_images.astype('float32') / 255

Подробнее об этом можно узнать здесь https://stats.stackexchange.com/questions/211436/why-normalize-images-by-subtracting-datasets-image-mean-instead-of-the-current

...