gpt4 book ai didi

python - 了解 tensorflow 占位符的形状

转载 作者:太空宇宙 更新时间:2023-11-03 14:15:27 25 4
gpt4 key购买 nike

我正在阅读this code我想了解它的实现。

<小时/>

我想知道的第一件事是,一些张量对象(占位符)的形状是什么,例如 x_initxsh_inity_inity_sample

我编写了一行代码,例如print(xs.shape),但它不起作用。

如何理解这些参数(张量)的形状?我可以在 NumPy 中编写类似以下内容吗?

<小时/>

定义这些张量的代码部分如下所示:

x_init = tf.placeholder(tf.float32, shape=(args.init_batch_size,) + obs_shape)

xs = [tf.placeholder(tf.float32, shape=(args.batch_size, ) + obs_shape)
for i in range(args.nr_gpu)]


# if the model is class-conditional we'll set up label placeholders +
# one-hot encodings 'h' to condition on if args.class_conditional:

num_labels = train_data.get_num_labels()
y_init = tf.placeholder(tf.int32, shape=(args.init_batch_size,))
h_init = tf.one_hot(y_init, num_labels)
y_sample = np.split(
np.mod(np.arange(args.batch_size * args.nr_gpu), num_labels), args.nr_gpu)
h_sample = [tf.one_hot(tf.Variable(
y_sample[i], trainable=False), num_labels) for i in range(args.nr_gpu)]

最佳答案

形状由不同的命令行参数组装而成:

  • obs_shape 是输入图像的形状,例如 (32, 32, 3)
  • args.init_batch_sizeargs.batch_size 是来自命令行的值。例如,它可以是 3040

那么x_init的形状就是init_batch_sizeobs_shape的串联:(30, 32, 32, 3).相应地,xs中每一项的形状为(40, 32, 32, 3)

您无法计算 xs.shape,因为 xs 是占位符的列表。您可以改为评估 xs[0].shape

y_sampleh_sample 也是张量列表。第一个包含 (batch_size, num_labels) 张量,第二个包含 (num_labels, )

关于python - 了解 tensorflow 占位符的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48241666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com