我很难建立一个自动编码器神经网络,以便在单列文本中查找异常值。我正在使用Keras和Tensorflow GPU。我被困住了,我不知道从哪里开始。
以下是我输入文字的摘要:
ic_select_all_white_36dp.png
ic_settings_bluetooth_black_24dp.png
ic_settings_bluetooth_white_36dp.png
ic_settings_grey600_48dp.png
ic_settings_remote_white_24dp.xml
ic_settings_remote_white_48dp.png
ic_settings_white_24dp.xml
ic_settings_white_48dp.png
ic_show_chart_black_24dp.xml
ic_sort_white_24dp.xml
ic_star_grey600_24dp.png
ic_star_white_24dp.xml
ic_usb_white_24dp.xml
ic_video_library_white_24dp.xml
ic_warning_24dp.xml
ic_xda_grey600_24dp.png
我的整个代码如下:
import sys
from keras import Input, Model
import matplotlib.pyplot as plt
from keras.layers import Dense
from keras.preprocessing.text import Tokenizer
import numpy as np
from google.colab import drive
drive.mount('/content/drive')
with open('/content/drive/My Drive/Colab Notebooks/drawables.txt', 'r') as arquivo:
dados = arquivo.read().splitlines()
tokenizer = Tokenizer(filters='', nb_words=None)
tokenizer.fit_on_texts(dados)
x_dados = tokenizer.texts_to_matrix(dados, mode="count")
#x_dados = tokenizer.texts_to_sequences(dados, mode="count")
tamanho = len(tokenizer.word_index) + 1
tamanho_comprimido = int(tamanho/1.25)
x = Input(shape=(tamanho,))
# Encoder
hidden_1 = Dense(tamanho_comprimido, activation='relu')(x)
h = Dense(tamanho_comprimido, activation='relu')(hidden_1)
# Decoder
hidden_2 = Dense(tamanho, activation='relu')(h)
r = Dense(tamanho, activation='sigmoid')(hidden_2)
autoencoder = Model(input=x, output=r)
autoencoder.compile(optimizer='adam', loss='mse')
history = autoencoder.fit(x_dados, x_dados, epochs=10, shuffle=False)
plt.plot(history.history["loss"])
plt.ylabel("Loss")
plt.xlabel("Epoch")
plt.show()
encoded = autoencoder.predict(x_dados)
resultado = tokenizer.sequences_to_texts(encoded)
#encoded_argmax = np.argmax(encoded, axis=1)
encoded_argmax = np.argmax(encoded, axis=1)
text = tokenizer.sequences_to_texts([encoded_argmax])
from pprint import pprint
pprint(encoded_argmax)
pprint(text)
我正在使用Google Collab,运行了代码,进行了训练,可以使用Epoch和所有图形绘制图形,但是当我执行最后一条命令时,将输出文本上的pprint转换为序列,我得到了不同的结果每次运行时都会得到结果,但结果基本上是不准确的,我不知道自己在做什么错。
我的pprint(text)输出在我的问题下面,因为它很大。
我感到奇怪的是,我的输入是一列文本,而我的输出恰好有多列。
我迷路了,我不知道从哪里开始。
['item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml '
'item_doc_grid.xml item_doc_grid.xml item_doc_grid.xml']