草庐IT

marketplace-terraform-tf-broker

全部标签

python - tf.multiply vs tf.matmul 计算点积

我有一个形状为[3,4]的(向量的)矩阵X,我想计算每对向量(X[1].X[1])和(X[1])之间的点积.X[2])...等我看到他们用的是余弦相似度代码tf.reduce_sum(tf.multyply(X,X),axis=1)计算向量矩阵中向量之间的点积。但是,此结果仅计算(X[i],X[i])之间的点积。我使用tf.matmul(X,X,transpose_b=True)计算每两个向量之间的点积,但我仍然很困惑为什么tf.multiply没有这样做我认为我的代码有问题。代码是:data=[[1.0,2.0,4.0,5.0],[0.0,6.0,7.0,8.0],[8.0,1.0,

python - TensorFlow tf.reshape Fortran 命令(像 numpy)

TensorFlow是否提供了一种在Fortran中reshape张量的方法(列优先顺序?NumPy允许:a=...np.reshape(a,(32,32,3),order='F')我正在尝试将CIFAR图像reshape为32x32x3(来自形状为3072x1的矢量),但我得到的图像看起来像这样:在Numpy中使用Fortran顺序可以解决问题,但我需要在TensorFlow中执行相同的操作。编辑:我现在意识到我可以通过整形为3x32x32然后转置输出来获得正确的输出。我仍然有点惊讶TF没有提供行优先或列优先顺序的开箱即用的reshape。 最佳答案

python - TensorFlow - tf.layers 与 tf.contrib.layers

在TensorFlow中,tf.layers和tf.contrib.layers共享很多功能(标准2D卷积层、批量归一化层等)。这两者之间的区别仅仅是contrib.layers包仍然是实验性的,而layers包被认为是稳定的吗?或者一个正在被另一个取代?其他区别?为什么这两个是分开的? 最佳答案 您已经回答了自己的问题。tf.contrib官方文档中的描述命名空间是:contribmodulecontainingvolatileorexperimentalcode.因此tf.contrib保留用于实验性功能。此namespace中

python - 如何将 tf.keras 与 bfloat16 结合使用

我正在尝试让tf.keras模型使用混合精度在TPU上运行。我想知道如何使用bfloat16混合精度构建keras模型。是这样的吗?withtf.contrib.tpu.bfloat16_scope():inputs=tf.keras.layers.Input(shape=(2,),dtype=tf.bfloat16)logits=tf.keras.layers.Dense(2)(inputs)logits=tf.cast(logits,tf.float32)model=tf.keras.models.Model(inputs=inputs,outputs=logits)model.c

python - 属性错误 : 'module' object has no attribute 'main' for tf. app.run()

我正在尝试测试一个小程序,它很简单,如下所示importnumpyasnpimporttensorflowastfflags=tf.app.flagsFLAGS=flags.FLAGSimporttensorvision.trainastrainimporttensorvision.utilsasutilsflags.DEFINE_string('name',None,'AppendanameTagtorun.')flags.DEFINE_string('hypes','hypes/medseg.json','Filestoringmodelparameters.')if__name_

python - 为什么我会使用 tf.concat 而不是 tf.stack?

使用tf.concat而不是tf.stack有充分的理由吗?它们看起来非常相似。是否只是为了保证生成的张量与输入的张量列表具有相同的维数? 最佳答案 实际上,我误解了tf.stack的工作原理。如果axis参数在现有维度的范围内,将在该索引处插入一个新轴。例子:importtensorflowastft1=tf.random_normal([1,3])t2=tf.random_normal([1,3])tf.stack([t1,t2],axis=1).shape.as_list()==[1,2,3]tf.concat([t1,t2]

python - 用 tf.data API 替换 tf.placeholder 和 feed_dict

我有一个现有的TensorFlow模型,它使用tf.placeholder作为模型输入,使用tf.Session().run的feed_dict参数来输入数据。以前整个数据集都是通过这种方式读入内存并传递的。我想使用更大的数据集并利用tf.dataAPI的性能改进。我已经从中定义了一个tf.data.TextLineDataset和一次性迭代器,但我很难弄清楚如何将数据导入模型以对其进行训练。起初我试图将feed_dict定义为从占位符到iterator.get_next()的字典,但这给了我一个错误,指出feed的值不能是tf.Tensor对象。更多的挖掘让我明白这是因为iterat

python - 用 tf.data API 替换 tf.placeholder 和 feed_dict

我有一个现有的TensorFlow模型,它使用tf.placeholder作为模型输入,使用tf.Session().run的feed_dict参数来输入数据。以前整个数据集都是通过这种方式读入内存并传递的。我想使用更大的数据集并利用tf.dataAPI的性能改进。我已经从中定义了一个tf.data.TextLineDataset和一次性迭代器,但我很难弄清楚如何将数据导入模型以对其进行训练。起初我试图将feed_dict定义为从占位符到iterator.get_next()的字典,但这给了我一个错误,指出feed的值不能是tf.Tensor对象。更多的挖掘让我明白这是因为iterat

python - Tensorflow:tf.nn.conv2d 实际执行在哪里?

我很好奇tf.nn.conv2d(...)的Tensorflow实现。要调用它,只需运行tf.nn.conv2d(...)。但是,我正在尝试查看它的执行位置。代码如下(其中箭头表示最终调用的函数):tf.nn.conv2d(...)->tf.nn_ops.conv2d(...)->tf.gen_nn_ops.conv2d(...)->_op_def_lib.apply_op("Conv2D",...)->?我熟悉Tensorflow的LSTM实现以及根据需要轻松操作它们的能力。执行conv2d()计算的函数是用Python编写的吗?如果是,它在哪里?我可以看到在何处以及如何执行步幅吗?

python - Tensorflow:tf.nn.conv2d 实际执行在哪里?

我很好奇tf.nn.conv2d(...)的Tensorflow实现。要调用它,只需运行tf.nn.conv2d(...)。但是,我正在尝试查看它的执行位置。代码如下(其中箭头表示最终调用的函数):tf.nn.conv2d(...)->tf.nn_ops.conv2d(...)->tf.gen_nn_ops.conv2d(...)->_op_def_lib.apply_op("Conv2D",...)->?我熟悉Tensorflow的LSTM实现以及根据需要轻松操作它们的能力。执行conv2d()计算的函数是用Python编写的吗?如果是,它在哪里?我可以看到在何处以及如何执行步幅吗?