我正在尝试使用t-SNE可视化神经网络(在Keras中实现)的输出。在致电MemoryError
时我收到了fit_transform
。目前我在Windows 10上运行我的代码。
代码:
layer_outputs = [layer.output for layer in encoder.layers]
#layer_outputs[3].output_shape is (None,32)
v_model = Model(input=encoder.input, output=layer_outputs[3])
output = v_model.predict(x_train)
tsne = TSNE(n_components=2, random_state=0)
y = tsne.fit_transform(output) #ERROR HERE
...
答案 0 :(得分:1)
您需要将输出大小减小到系统可以处理的值。
除此之外,您还可以使用主成分分析(PCA)来降低output
的维度,然后再将其输入t-SNE。见这里:http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html