TensorFlow - обученная модель всегда неправильно, на изображении он обучалсяPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 TensorFlow - обученная модель всегда неправильно, на изображении он обучался

Сообщение Anonymous »

Я в настоящее время изучаю Tensorflow.
, и лучший способ сделать это - это испачкать руки. ? < /p>
root_dir = "./images"
read_files = os.path.join(root_dir)
file_names = os.listdir(read_files)
data_pok = {}

def build_image_labels():
data = pd.read_csv("./pokemon.csv")
data.head()
for index, row in data.iterrows():
name = row["Name"]
type_one = row["Type1"]
type_two = row["Type2"]
data_pok[index] = {
"index": index + 1,
"name": name,
"type_one": type_one,
"type_two": type_two
}

type_one = data["Type1"].unique()
ids = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
types_indices = dict(zip(type_one, ids))

final_images = []
final_pokemon = []
count = 0

for file in file_names:
pokemon = data_pok[count]
count += 1
img = cv2.imread(os.path.join(root_dir, file))
img = cv2.resize(img, (120, 120))
final_images.append(np.array(img))
final_pokemon.append(np.array(pokemon['index']-1))

final_images = np.array(final_images, dtype=np.float32)/255.0
final_pokemon = np.array(final_pokemon, dtype=np.float32).reshape(809, 1)

print("After", final_images.shape, final_pokemon.shape)

return final_images, final_pokemon, type_one

def build_model():
model = Sequential([
Flatten(input_shape=(120,120,3)),
Dense(100, activation='relu'),
Dense(100, activation='relu'),
Dense(100, activation='relu'),
Dense(809),
])
model.summary()

model.compile(
optimizer='Adam',
loss= keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy']
)

(images, pokemons, types) = build_image_labels()

history = model.fit(images, pokemons, epochs=50)
probability_model = Sequential([model, Softmax()])

pokemon = cv2.imread('./images/mewtwo.png')
pokemon = cv2.resize(pokemon, (120,120))
pokemon_arr = np.array(pokemon, dtype=np.float32) / 255.0
pokemon_arr = np.expand_dims(pokemon, axis=0)

cv2.imshow("Pokemon", pokemon)
cv2.waitKey(0)

predictions = probability_model.predict(pokemon)

id = np.argmax(predictions[0])
print("id", id)
print("pokemon index", data_pok[id])
print("accuracy of the model", history.history['accuracy'][-1])

build_model()


Подробнее здесь: https://stackoverflow.com/questions/795 ... trained-on
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»