在阅读了数千篇教程之后,我仍然无法在某些情况下打印张量值。我清楚的是,tensorflow首先构建图形,然后它实际上提供变量,占位符等的值。但是,我无法在此代码link_1中打印某些张量的值。更多细节如下。
_build_train()
函数定义如下(ptranse.py
的第156行),并调用_forward_t_model
方法以返回t_z_pos
和{{1}张量。
t_z_neg
我感兴趣的是打印def _build_train(self):
t_z_pos, t_z_neg = self._forward_t_model(self._w, self._v, False)
at_z_pos, at_z_neg = self._forward_t_model(self._aw, self._av, True)
k_z_pos, k_z_h_neg, k_z_t_neg, k_z_r_neg = self._forward_k_model(self._pos_h, self._pos_t, self._pos_r)
ak_z_pos, ak_z_h_neg, ak_z_t_neg, ak_z_r_neg = self._forward_k_model(self._pos_ah, self._pos_at, self._pos_ar)
nce_loss = self._nce_loss(t_z_pos, t_z_neg, k_z_pos, k_z_h_neg, k_z_t_neg, k_z_r_neg)
nce_loss = nce_loss + self._nce_loss(at_z_pos, at_z_neg, ak_z_pos, ak_z_h_neg, ak_z_t_neg, ak_z_r_neg)
self._train = self._optimize(nce_loss)
self._loss = nce_loss
和t_z_pos
值,并按照此处的建议link_2我在t_z_neg
之后添加以下内容:
t_z_pos, t_z_neg = self._forward_t_model(self._w, self._v, False)
但是,通过显示以下消息停止执行:print(t_z_pos.eval())
我猜这个脚本崩溃了,因为我要求在它仍然构建图形时打印一个值(所以在为张量输入一些值之前)。我的问题是,如何在初始化之后打印张量值并以一定的价值提供?我的同一问题link_3,link_4和link_5也存在类似的问题,但这些问题都没有帮助我解决这个问题。