python-3.x - Tensorboard 投影仪可视化 - PCA 不断加载

标签 python-3.x tensorflow keras tensorboard

Tensorboard 投影仪可视化 - PCA 一直挂着。

我写了一个简单的 NN 来预测 iris 数据集的类类型。
NN 模型工作正常。

import pandas as pd 
import numpy as np

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn import preprocessing

import tensorflow as tf
import tensorflow as tf
from tensorflow import keras

iris_data = load_iris()
x = pd.DataFrame(iris_data.data, columns=iris_data.feature_names)
y = pd.DataFrame(iris_data.target, columns=['class'])

encoder = preprocessing.OneHotEncoder(categories='auto')
encoder.fit(y)
#Transform
y_enc = encoder.transform(y).toarray()

x_train, x_test, y_train, y_test = train_test_split(x, y_enc)


model = keras.Sequential()
model.add(keras.layers.Dense(8, name='input_layer', activation=tf.nn.relu, input_shape=(x_train.shape[1],)))
model.add(keras.layers.Dense(4, name='hidden_layer', activation=tf.nn.relu))
model.add(keras.layers.Dense(3, name='out_layer', activation=tf.nn.softmax))

model.compile(optimizer=tf.keras.optimizers.Adam(0.005),
              loss=keras.losses.binary_crossentropy,
              metrics=[keras.metrics.categorical_accuracy])
model.fit(x_train, y_train, epochs=50, verbose=0)
result = model.predict(x_test)

现在我正在尝试可视化测试集的输出。
下面是 Tensorboard 投影仪的代码。
我不知道我错过了什么,但即使在几分钟前启动 Tensorboard 后,PCA 仍在继续加载。
import tensorflow as tf
from tensorflow.contrib.tensorboard.plugins import projector

import numpy as np
import os

LOG_DIR = 'logs'  # FULL PATH HERE!!!

metadata_file = os.path.join(LOG_DIR, 'metadata.tsv')
with open(metadata_file, 'w') as f:
f.write('{}\t{}\n'.format('class_name','class_id'))
with open(metadata_file, 'a') as f:
for i in range(len(y_test)):
    c = np.nonzero(y_test[i])[0][0]
    f.write('{}\t{}\n'.format(iris_data.target_names[c],c))


embedding_var = tf.Variable(result,  name='final_layer_embedding')
sess = tf.Session()
sess.run(embedding_var.initializer)
summary_writer = tf.summary.FileWriter(LOG_DIR)
config = projector.ProjectorConfig()
embedding = config.embeddings.add()
embedding.tensor_name = embedding_var.name

embedding.metadata_path = 'metadata.tsv'

projector.visualize_embeddings(summary_writer, config)
saver = tf.train.Saver([embedding_var])
saver.save(sess, os.path.join(LOG_DIR, 'model.ckpt'), 1)

enter image description here

我用谷歌搜索了解我做错了什么,但我无法修复它。尽管我的模型很小,但我无法想象。任何解决此问题的帮助将是非常可观的。

最佳答案

我正在回答我自己的问题。

正如@Tay2510 在评论中所建议的那样。

升级后相同的代码有效 张量板版本到 1.12.0 从 1.11.0.

然而我的 tensorflow 版本与 相同1.11.0 .

关于python-3.x - Tensorboard 投影仪可视化 - PCA 不断加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53166615/

相关文章:

macos - TensorFlow GPU 支持 Mac - OpenCL

python-3.x - Python 3 Tkinter 无边界全屏应用程序

python-3.x - 在 ANN 模型中加载 pickle 时接收错误

gpgpu - 将 Tensorflow 与 GPU 一起使用时出错

tensorflow - Keras错误 “You must feed a value for placeholder tensor ' bidirectional_1/keras_learning_phase'与dtype bool”

python - 具有附加文本输入的 ImageDataGenerator

ipython - 在 Ubuntu 中移动 .keras 目录

Python 3 numpy 在矩阵上使用整数除法,在向量上使用常规除法?

Python:将 JSON 字典值写入 JSON 文件

python - 如何在python中将json转换为csv