2017-01-15 14 views
9

keras keras.callbacks.TensorBoardक्या टेंसबोर्ड में कैमरा एम्बेडिंग को देखना संभव है?

का उपयोग कर हालांकि, यह tensorboard में embedding visualisation का समर्थन नहीं करता एक tensorboard comaptible प्रारूप में इसके बारे में कुछ है प्रशिक्षण डेटा निर्यात करने की क्षमता है।

क्या इसके आसपास कोई रास्ता है?

+0

मैं एक मौजूदा समाधान (जैसे तृतीय पक्ष, या मेटा डॉक्स में जो कुछ चूक गया) पसंद करता हूं लेकिन इसे लागू करना एक विकल्प है –

उत्तर

8

मिले एक समाधान:

import os 

import keras 
import tensorflow 

ROOT_DIR = '/tmp/tfboard' 

os.makedirs(ROOT_DIR, exist_ok=True) 


OUTPUT_MODEL_FILE_NAME = os.path.join(ROOT_DIR,'tf.ckpt') 

# get the keras model 
model = get_model() 
# get the tensor name from the embedding layer 
tensor_name = next(filter(lambda x: x.name == 'embedding', model.layers)).W.name 

# the vocabulary 
metadata_file_name = os.path.join(ROOT_DIR,tensor_name) 

embedding_df = get_embedding() 
embedding_df.to_csv(metadata_file_name, header=False, columns=[]) 

saver = tensorflow.train.Saver() 
saver.save(keras.backend.get_session(), OUTPUT_MODEL_FILE_NAME) 

summary_writer = tensorflow.train.SummaryWriter(ROOT_DIR) 

config = tensorflow.contrib.tensorboard.plugins.projector.ProjectorConfig() 
embedding = config.embeddings.add() 
embedding.tensor_name = tensor_name 
embedding.metadata_path = metadata_file_name 
tensorflow.contrib.tensorboard.plugins.projector.visualize_embeddings(summary_writer, config) 
+2

क्या आप कृपया यह बता सकते हैं कि आप एम्बेडिंग_डीएफ कैसे बनाते हैं? – hjarraya

+0

इस उत्तर में अनुपलब्ध जानकारी। क्या आप कृपया बता सकते हैं कि '' 'get_model()' '' '' '' get_embedding() '' '' '' '' '' '' '' 'प्राप्त करें? –

+0

ये ऐसे कार्य हो सकते हैं जो आपके कैमरे मॉडल और एम्बेडिंग को डेटाफ्रेम के रूप में वापस कर दें –

5

इस कार्यक्षमता के साथ पुल अनुरोध है - https://github.com/fchollet/keras/pull/5247 कॉलबैक विशिष्ट embedding परतों के लिए दृश्य बनाने के लिए बढ़ा दिया गया है।

संबंधित मुद्दे