如何使用 DNNCLassifier 时可视化嵌入 - 张量流



我学习了本教程,学习如何在Tensorboard上可视化嵌入。整个代码在这里。他使用卷积神经网络来训练模型。以下是构建嵌入的核心部分:

 embedding = tf.Variable(tf.zeros([1024, embedding_size]), name="test_embedding")
 assignment = embedding.assign(embedding_input)
 config = tf.contrib.tensorboard.plugins.projector.ProjectorConfig()
 embedding_config = config.embeddings.add()
 embedding_config.tensor_name = embedding.name
 embedding_config.sprite.image_path = LOGDIR + 'sprite_1024.png'
 embedding_config.metadata_path = LOGDIR + 'labels_1024.tsv'
 # Specify the width and height of a single thumbnail.
 embedding_config.sprite.single_image_dim.extend([28, 28])
 tf.contrib.tensorboard.plugins.projector.visualize_embeddings(writer, config)

其中embedding_input是网络的完全连接层。

我正在使用DNNCLassifier对象对控制论攻击进行分类。这是我的代码的一部分。

def input_fn(data_set):
    continuous_cols = {k: tf.constant(data_set[k].values)
                    for k in CONTINUOUS_COLUMNS}
    categorical_cols = {k: tf.SparseTensor(
                    indices=[[i, 0] for i in range(data_set[k].size)],
                    values=data_set[k].values,
                    dense_shape=[data_set[k].size, 1])
                        for k in CATEGORICAL_COLUMNS}
    feature_cols = dict(continuous_cols.items() + categorical_cols.items())
    label = tf.constant(data_set[LABEL_COLUMN].values)
    return feature_cols, label

def train_input_fn():
   return input_fn(training_set)
def eval_input_fn():
   return input_fn(test_set)
classifier = tf.contrib.learn.DNNClassifier(model_dir=model_dir,
        feature_columns=deep_columns,
        n_classes=5,
        hidden_units=[12, 4],
        label_keys=label_keys_values,
        optimizer=tf.train.ProximalAdagradOptimizer(
           learning_rate=0.1,
           l1_regularization_strength=0.001
        ))
classifier.fit(input_fn=train_input_fn, steps=200)
results = classifier.evaluate(input_fn=eval_input_fn, steps=1)

有没有办法从 DNNClassifier 获取神经网络的输出层以将其用作embedding_input?我想将攻击类型可视化为Tensorboard上的嵌入。

一种方法是使用tf.contrib.learn.monitors.ValidationMonitor

您可以在初始化 DNNClassifier 时传递监视器参数

见 https://www.tensorflow.org/get_started/monitors

最新更新