Tôi đang cố truy xuất các ký tự trong chuỗi tensor để dự đoán mức ký tự. Những sự thật mặt đất là những từ mà mỗi nhân vật có một id trong từ điển. Tôi có một tensor tương ứng với độ dài của chuỗi.Tensorflow - Lấy mỗi ký tự trong một chuỗi tensor
Bây giờ, tôi phải lấy từng ký tự trong chuỗi tensor. Sau khi kiểm tra các bài viết liên quan, một lần truy xuất đơn giản có thể như sau. Chuỗi mẫu là "This"
a= tf.constant("This",shape=[1])
b=tf.string_split(a,delimiter="").values #Sparse tensor has the values array which stores characters
Bây giờ tôi muốn tạo một chuỗi có khoảng trắng giữa các chữ "This" tức là "T h i s". Tôi cần khoảng cách lúc bắt đầu và kết thúc quá. Làm cách nào để thực hiện việc này?
Tôi đã cố gắng để lặp qua các nhân vật như dưới đây
for i in xrange(b.dense_shape[1]): # b.dense_shape[1] has the length of string
x=b.values[i]
Nhưng vòng lặp hy vọng một số nguyên chứ không phải là một tensor.
Bất kỳ ý tưởng nào về cách thực hiện các tác vụ trên? Tôi không thể tìm thấy bất kỳ tài liệu nào liên quan đến điều này (ngoài chức năng tf.string_split). Mọi đề xuất đều được chào đón. Cảm ơn
Thực ra vấn đề của tôi không phải là lặp qua tensor, thay vì nhận từng ký tự. Tôi không thể sử dụng eval() ở đây vì tôi cần các ký tự dưới dạng tensors. Nhiệm vụ chính của tôi là lấy một chuỗi tensor với các khoảng trống chèn vào giữa chuỗi gốc. Ý tưởng của tôi là thêm từng tensor ký tự với khoảng trắng để có được chuỗi tensor mong muốn. Nhưng tôi không chắc chắn làm thế nào để làm điều đó. –
Nhiệm vụ dễ dàng với phương pháp thứ hai. Bạn có thể làm như sau: 'tf.string_split (tf.map_fn (lambda i: i +" ", b), delimiter =" "). Values' có nghĩa là bạn thêm một dấu cách ở cuối mỗi ký tự và sau đó lại -split các tensor kết quả. – garciparedes
Hoạt động như một sự quyến rũ. Cảm ơn bạn –