jjzjj

python - 使用 tf.set_random_seed 在 Tensorflow 中可重现结果

我正在尝试生成N组独立的随机数。我有一个简单的代码,它显示了3组10个随机数的问题。我注意到即使我使用tf.set_random_seed设置种子,不同运行的结果看起来也不一样。非常感谢任何帮助或评论。(py3p6)bash-3.2$cattest.pyimporttensorflowastfforiinrange(3):tf.set_random_seed(1234)generate=tf.random_uniform((10,),0,10)withtf.Session()assess:b=sess.run(generate)print(b)这是代码的输出:#output:[9.60

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 - 无法在 tensorboard 中使用 summary.merge 进行单独的培训和评估摘要

我正在尝试使用tensorboard来观察卷积神经网络的学习。我很好地使用tf.summary.merge_all函数来创建合并摘要。但是,我想跟踪训练和测试数据的准确性和损失。这篇文章很有用:Loggingtrainingandvalidationlossintensorboard.为了让事情更容易处理,我想将我的摘要合并成两个合并的摘要,一个用于训练,一个用于验证。(我最终会添加更多的东西,比如图像权重等)我试着按照描述来自张量板tf.summary.merge.我无法让它工作,我找不到任何工作示例来帮助我理解我哪里出错了。withtf.name_scope('accuracy')

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