我正在尝试预取训练数据以隐藏I / O延迟。 我想写自定义的Python代码,从磁盘加载数据并预处理数据(例如通过添加上下文窗口)。 换句话说,一个线程进行数据预处理,另一个线程进行训练。 这在TensorFlow中可能吗? 更新:我有一个基于@ mrry示例的工作示例。 import numpy as np import tensorflow as tf import threading BATCH_SIZE = 5 TRAINING_ITERS = 4100 feature_input = tf.placeholder(tf.float32, shape=[128]) label_input = tf.placeholder(tf.float32, shape=[128]) q = tf.FIFOQueue(200, [tf.float32, tf.float32], shapes=[[128], [128]]) enqueue_op = q.enqueue([label_input, feature_input]) label_batch, feature_batch = q.dequeue_many(BATCH_SIZE) c = tf.reshape(feature_batch, [BATCH_SIZE, 128]) + tf.reshape(label_batch, [BATCH_SIZE, […]
我在python3中导入tensorflow时遇到了问题: >>> import tensorflow as tf Traceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module> from tensorflow.python.pywrap_tensorflow_internal import * File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module> _pywrap_tensorflow_internal = swig_import_helper() File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description) File "/usr/lib/python3.5/imp.py", line 242, in load_module return load_dynamic(name, filename, file) File "/usr/lib/python3.5/imp.py", line […]
我试图实施敌对neural network ,它需要在交替训练minibatches期间“冻结”图中的一个或另一个部分。 即有两个子networking:G和D. G( Z ) -> Xz D( X ) -> Y G损失函数依赖于D[G(Z)], D[X] 。 首先,我需要在所有G参数固定的情况下对D中的参数进行训练,然后使用D中的参数固定G中的参数。 第一种情况下的损失函数将是第二种情况下的负损失函数,并且更新将必须应用于第一或第二子networking的参数。 我看到tensorflow有tf.stop_gradient函数。 为了训练D(下游)子networking,我可以使用这个function来阻止梯度stream向 Z -> [ G ] -> tf.stop_gradient(Xz) -> [ D ] -> Y tf.stop_gradient非常简洁,没有内联示例(例如seq2seq.py太长而且不容易阅读),但看起来像在图创build期间必须调用它。 这是否意味着,如果我想要交替批量阻止/取消阻止梯度stream,我需要重新创build并重新初始化图模型? 此外,似乎tf.stop_gradient阻止stream经G(上游)networking的tf.stop_gradient ,对吧? 作为替代scheme,我看到可以将优化器调用的variables列表作为opt_op = opt.minimize(cost, <list of variables>)如果可以获得每个variables的范围中的所有variables子网。 一个人可以得到一个<list of variables>为一个tf.scope?
我想在python中为tensorflowvariables赋值一个新的值。 import tensorflow as tf import numpy as np x = tf.Variable(0) init = tf.initialize_all_variables() sess = tf.InteractiveSession() sess.run(init) print(x.eval()) x.assign(1) print(x.eval()) 但是我得到的结果是 0 0 所以价值没有改变。 我错过了什么?
我在Ubuntu 14.04上安装了tensorflow的GPU版本。 我在一个GPU服务器上,tensorflow可以访问可用的GPU。 我想在CPU上运行tensorflow。 通常我可以使用env CUDA_VISABLE_DEVICE=0在GPU编号上运行。 0。 我怎样才能在CPU之间select呢? 我没有with tf.device("/cpu:0"):重写我的代码with tf.device("/cpu:0"):
tensorflow是否有类似scikit学习处理分类数据的一个热门编码器 ? 将使用tf.string的占位符行为作为分类数据? 我意识到我可以在将数据发送到tensorflow之前手动预处理数据,但是内置它非常方便。
读过文档后 ,我在TensorFlow保存了一个模型,这里是我的演示代码: # Create some variables. v1 = tf.Variable(…, name="v1") v2 = tf.Variable(…, name="v2") … # Add an op to initialize the variables. init_op = tf.global_variables_initializer() # Add ops to save and restore all the variables. saver = tf.train.Saver() # Later, launch the model, initialize the variables, do some work, save the # variables to […]
我发现在使用TensorFlow实现的许多可用的neural network代码中,正则化术语通常是通过手动添加额外的损失值来实现的。 我的问题是: 有没有一种更优雅或推荐的正规化方式比手动? 我也发现get_variable有一个参数regularizer 。 应该如何使用? 根据我的观察,如果我们通过正规化器(例如tf.contrib.layers.l2_regularizer ,将会计算一个表示正则化术语的张量,并将其添加到一个名为tf.GraphKeys.REGULARIZATOIN_LOSSES的图集合中,该集合是否会被自动使用通过TensorFlow(例如在训练时用于优化器)?还是预计我应该自己使用该集合?
使用默认全局图时,是否可以在添加节点后删除节点,或者将默认图重置为空? 当在IPython中以交互方式使用TF时,我发现自己不得不重新启动内核。 如果可能,我希望能够更容易地尝试图表。
我用了tensorflow一天,但是有一些麻烦,当我inputtensorflow时,会出现AttributeError:'module'对象没有属性'XXXXXX' 环境 我使用ubuntu14.04,python2.7,CUDA工具包8.0和CuDNN v5。 版本:1.10.0位置:/usr/local/lib/python2.7/dist-packages需要:名称:protobuf版本:3.2.0位置:/ usr / local / lib / python2.7 / dist-packages要求:六,setuptools 这里是我的testing代码: import tensorflow as tf a = tf.placeholder(tf.int16) b = tf.placeholder(tf.int16) add = tf.add(a, b) mul = tf.mul(a, b) with tf.Session() as sess: # Run every operation with variable input print "Addition with variables: %i" % sess.run(add, feed_dict={a: 2, b: 3}) […]