2016-02-10 25 views
12

Có cách nào để thực hiện tra cứu từ điển dựa trên chuỗi tensor trong Tensorflow không?Tra cứu từ điển Tensorflow với chuỗi tensor

Trong Python đơn giản, tôi muốn làm một cái gì đó giống như

value = dictionary[key] 

. Bây giờ tôi muốn làm điều tương tự tại thời gian chạy Tensorflow, khi tôi có key của tôi như một chuỗi tensor. Một cái gì đó như

value_tensor = tf.dict_lookup(string_tensor) 

sẽ rất tuyệt.

Trả lời

-4

TensorFlow là ngôn ngữ luồng dữ liệu không hỗ trợ cấu trúc dữ liệu ngoài tensors. Không có loại bản đồ hoặc từ điển. Tuy nhiên, tùy thuộc vào những gì bạn cần, khi bạn đang sử dụng trình bao bọc Python, bạn có thể duy trì một từ điển trong quá trình điều khiển, thực thi bằng Python và sử dụng nó để tương tác với việc thực thi đồ thị TensorFlow. Ví dụ, bạn có thể thực hiện một bước của một đồ thị TensorFlow trong một phiên, trả về một giá trị chuỗi cho trình điều khiển Python, sử dụng nó như một khóa vào một từ điển trong trình điều khiển, và sử dụng giá trị được truy xuất để xác định tính toán tiếp theo được yêu cầu từ phiên. Đây có lẽ không phải là một giải pháp tốt nếu tốc độ của các tra cứu từ điển này là hiệu suất quan trọng.

+0

https://www.tensorflow.org/api_docs/python/tf/ contrib/lookup/HashTable – Julius

14

Bạn có thể thấy tensorflow.contrib.lookup hữu ích: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lookup/lookup_ops.py

https://www.tensorflow.org/api_docs/python/tf/contrib/lookup/HashTable

Đặc biệt, bạn có thể làm:

table = tf.contrib.lookup.HashTable(
    tf.contrib.lookup.KeyValueTensorInitializer(keys, values), -1 
) 
out = table.lookup(input_tensor) 
table.init.run() 
print out.eval() 
+2

https://www.tensorflow.org/api_docs/python/tf/contrib/lookup/HashTable – Julius

Các vấn đề liên quan