在我在Tensorflow documentation中看到的所有示例中,输入都是从静态源解析的 - 通常是文件。 是否有可能构建一个数据来自不同来源的图表?在我的用例中,数据来自服务器的消息字符串:我想在张量中转换这些消息,并使用这些张量作为图形计算部分的输入。
答案 0 :(得分:4)
从动态来源提供数据的最简单方法是在图表中放置一个或多个tf.placeholder()
操作来表示输入张量,并使用feed mechanism为每个张量提供不同的值你拨打run()
的时间。如果这样做,可以编写任意Python代码来生成输入数据,这可能涉及调用远程服务器 - 甚至在服务器端处理传入请求。
如果您在C ++中执行此操作,则tensorflow::Session
类提供使用Session::Run()
方法提供占位符值的相同功能。馈送值必须是tensorflow::Tensor
个对象,您可以通过指定数据类型和形状(维度列表)来创建这些对象。 Tensor
对象具有允许您将其作为多维数组(如Tensor::scalar<T>()
,Tensor::matrix<T>()
和Tensor::tensor<T, NDIMS>()
)访问的方法,这些方法允许您将其值填写为如下:
tensorflow::Tensor t(DT_FLOAT, tensorflow::TensorShape({2, 2}));
t.matrix()(0, 0) = 1.0;
t.matrix()(0, 1) = 0.0;
t.matrix()(1, 0) = 0.0;
t.matrix()(1, 1) = 1.0;
您还可以使用Eigen Tensor库的所有方法来构建这些值。