首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在tensorflow中将tuple numpy转换为tuple tensor

如何在tensorflow中将tuple numpy转换为tuple tensor
EN

Stack Overflow用户
提问于 2020-08-21 15:57:29
回答 1查看 486关注 0票数 0

我有tuple numpy (使用len 4,5,6或更多),如何将tuple numpy转换为tuple tensor,输入如下:

代码语言:javascript
复制
import tensorflow as tf
import numpy as np
a = np.array([[20, 20], [40, 40]], dtype=np.int32)
b = np.array([[20, 20, 20], [40, 40, 40], [60, 60, 60]], dtype=np.int32)
c = np.array([[20, 20], [40, 40]], dtype=np.int32)
d = np.array([[20, 20, 20], [40, 40, 40], [60, 60, 60]], dtype=np.int32)
e = (a, b, c, d) # e is numpy tensor i want convert to tensor
tf_shapes = ((None, 2), (None, 3), (2, 2), (3, 3))
tf_types = (tf.int64, tf.float32, tf.int64, tf.float32)

我必须编写一个生成器来将其转换为元组张量。

代码语言:javascript
复制
def data_generator():
    for i in range(16):
        yield a, b, c, d
dataset=tf.data.Dataset.from_generator(data_generator, tf_types, tf_shapes).batch(batch_size=4, drop_remainder=True)
for sample in dataset:
     res = model(sample, training=False)

如何不使用tfdata生成器直接获取样本。

EN

回答 1

Stack Overflow用户

发布于 2020-08-21 16:21:24

我不确定我是否正确理解了您的问题,但是您似乎只希望将abcd转换为tensorflow张量,而不必使用tf.data.Dataset.from_generator函数。在这种情况下,您可以简单地使用tf.convert_to_tensor

代码语言:javascript
复制
import tensorflow as tf
import numpy as np

a_tensor = tf.convert_to_tensor(a, np.int32)
b_tensor = tf.convert_to_tensor(b, np.int32)
c_tensor = tf.convert_to_tensor(c, np.int32)
d_tensor = tf.convert_to_tensor(d, np.int32)

# use the tensors however you want

另外,如果你想在你的代码中有一个类似于e的张量,那么可以这样做:

代码语言:javascript
复制
e_tensor = tf.stack(e, axis=0)
# e_tensor[0] == a_tensor, e_tensor[1] == b_tensor, ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63518829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档