相关疑难解决方法(0)

Tensorflow:如何修改张量值

由于我需要在使用Tensorflow训练模型之前为数据编写一些预处理,因此需要对其进行一些修改tensor.但是,我不知道如何tensor像使用方式一样修改值numpy.

这样做的最佳方式是它能够tensor直接修改.然而,在当前版本的Tensorflow中似乎不可能.另一种方法是改变tensorndarray该进程,然后用tf.convert_to_tensor改回来.

关键是如何改变tensorndarray.
1)tf.contrib.util.make_ndarray(tensor):https: //www.tensorflow.org/versions/r0.8/api_docs/python/contrib.util.html#make_ndarray
这似乎是最简单的方法,但在目前的版本中我找不到这个功能Tensorflow.其次,它的输入TensorProto不是tensor.
2)a.eval()用于复制a到另一个ndarray
但是,它仅适用tf.InteractiveSession()于笔记本电脑.

代码的简单案例如下所示.此代码的目的是使其tfc具有与npc进程后相同的输出.

提示
您应该对待它tfc并且npc彼此独立.这符合以下情况:检索到的训练数据首先是tensor格式化的tf.placeholder().


源代码

import numpy as np
import tensorflow as tf
tf.InteractiveSession()

tfc = tf.constant([[1.,2.],[3.,4.]])
npc = np.array([[1.,2.],[3.,4.]])
row = np.array([[.1,.2]])
print('tfc:\n', tfc.eval())
print('npc:\n', npc)
for …
Run Code Online (Sandbox Code Playgroud)

python numpy tensorflow

11
推荐指数
1
解决办法
3万
查看次数

如何在Tensorflow图中(在GPU上)保留计算值?

我们如何确保计算值不会被复制回CPU/python内存,但仍可用于下一步的计算?

以下代码显然不会这样做:

import tensorflow as tf

a = tf.Variable(tf.constant(1.),name="a")
b = tf.Variable(tf.constant(2.),name="b")
result = a + b
stored = result

with tf.Session() as s:
    val = s.run([result,stored],{a:1.,b:2.})
    print(val) # 3
    val=s.run([result],{a:4.,b:5.})
    print(val) # 9
    print(stored.eval()) # 3  NOPE:
Run Code Online (Sandbox Code Playgroud)

错误:尝试使用未初始化的值_recv_b_0

tensorflow

4
推荐指数
1
解决办法
924
查看次数

标签 统计

tensorflow ×2

numpy ×1

python ×1