Попытка запустить TensorBoard в первый раз - PullRequest
1 голос
/ 02 апреля 2020

Сегодня я провел небольшое исследование TensorFlow и взломал код ниже. По сути, я пытаюсь запустить TensorFlow из Spyder (а не из строки cmd в Anaconda). Я думаю, что это возможно, верно. Итак, я запустил приведенный ниже код (выберите весь код и нажмите клавишу F9), и он прекрасно работает в Spyder, но когда я пытаюсь просмотреть некоторые / любые результаты в TensorBoard, я вижу это.

enter image description here

# my code ...
import pandas as pd
import numpy as np
import tensorflow as tf

import matplotlib.pyplot as plt
# %matplotlib inline

import seaborn as sns
sns.set(style="darkgrid")

from tensorboard import program
tb = program.TensorBoard()
tb.configure(argv=[None, '--logdir', 'C:/Users/ryans/']) # path to my default Spyder CLI
url = tb.launch()


# Classification with TensorFlow 2.0
cols = ['price', 'maint', 'doors', 'persons', 'lug_capacity', 'safety','output']
cars = pd.read_csv(r'C:/path_here/car_evaluation.csv', names=cols, header=None)

cars.head()

plot_size = plt.rcParams["figure.figsize"]
plot_size [0] = 8
plot_size [1] = 6
plt.rcParams["figure.figsize"] = plot_size


cars.output.value_counts().plot(kind='pie', autopct='%0.05f%%', colors=['lightblue', 'lightgreen', 'orange', 'pink'], explode=(0.05, 0.05, 0.05,0.05))


price = pd.get_dummies(cars.price, prefix='price')
maint = pd.get_dummies(cars.maint, prefix='maint')

doors = pd.get_dummies(cars.doors, prefix='doors')
persons = pd.get_dummies(cars.persons, prefix='persons')

lug_capacity = pd.get_dummies(cars.lug_capacity, prefix='lug_capacity')
safety = pd.get_dummies(cars.safety, prefix='safety')

labels = pd.get_dummies(cars.output, prefix='condition')

X = pd.concat([price, maint, doors, persons, lug_capacity, safety] , axis=1)


labels.head()

y = labels.values


from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=42)

#Model Training
from tensorflow.keras.layers import Input, Dense, Activation,Dropout
from tensorflow.keras.models import Model


input_layer = Input(shape=(X.shape[1],))
dense_layer_1 = Dense(15, activation='relu')(input_layer)
dense_layer_2 = Dense(10, activation='relu')(dense_layer_1)
output = Dense(y.shape[1], activation='softmax')(dense_layer_2)

model = Model(inputs=input_layer, outputs=output)
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['acc'])


print(model.summary())


history = model.fit(X_train, y_train, batch_size=8, epochs=50, verbose=1, validation_split=0.2)


score = model.evaluate(X_test, y_test, verbose=1)

print("Test Score:", score[0])
print("Test Accuracy:", score[1])


# path to dataset
# https://www.kaggle.com/elikplim/car-evaluation-data-set
# finally...not sure if I should be using TensorFlow or TensorFlow2.0
# maybe it doesn't matter...

1 Ответ

1 голос
/ 02 апреля 2020

Вам необходимо запустить обратный вызов TensorBoard следующим образом:

tensorboard_cb = tf.keras.callbacks.TensorBoard(
        os.path.join(args.job_dir, 'keras_tensorboard'),
        histogram_freq=1)

keras_model.fit(
        ...
        callbacks=[tensorboard_cb])

export_path = os.path.join('/tmp/', 'keras_export')
tf.keras.models.save_model(keras_model, export_path)

Полный пример здесь

Убедитесь, что вы сначала запустили через CLI, чтобы подтвердить, что вы видите что-то в случае туберкулеза выполните следующие действия:

tensorboard --logdir='/tmp/keras_export'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...