相关疑难解决方法(0)

在Tensorflow中,具有以_ref结尾的类型的张量和不具有的张量之间的区别是什么?

文档说:

此外,为参考类型的张量定义了具有_ref后缀的这些类型的变体.

这到底是什么意思?什么是参考类型的张量,它们与标准张量有何不同?

tensorflow

13
推荐指数
1
解决办法
5867
查看次数

在TensorFlow中重新训练冻结的* .pb模型

如何导入冻结的protobuf,以便对其进行重新训练?

我在网上找到的所有方法都需要检查点。有没有办法读取protobuf,以便将内核常数和偏差常数转换为变量?


编辑1:这类似于以下问题:如何在图(.pb)中重新训练模型?

我查看了DeepSpeech,该问题的答案中建议使用它。他们似乎有删除的支持initialize_from_frozen_model。我找不到原因。


编辑2:我尝试创建一个新的GraphDef对象,在其中我用变量替换了内核和偏差:

probable_variables = [...] # kernels and biases of Conv2D and MatMul

new_graph_def = tf.GraphDef()

with tf.Session(graph=graph) as sess:
    for n in sess.graph_def.node:

        if n.name in probable_variables:
            # create variable op
            nn = new_graph_def.node.add()
            nn.name = n.name
            nn.op = 'VariableV2'
            nn.attr['dtype'].CopyFrom(attr_value_pb2.AttrValue(type=dtype))
            nn.attr['shape'].CopyFrom(attr_value_pb2.AttrValue(shape=shape))

        else:
            nn = new_model.node.add()
            nn.CopyFrom(n)
Run Code Online (Sandbox Code Playgroud)

不知道我走的路是否正确。不知道如何设置trainable=TrueNodeDef对象。

tensorflow

6
推荐指数
1
解决办法
2198
查看次数

使用tf.contrib.graph_editor克隆网络

我有这样的功能可以构建网络。

def build_network(inputs):
  # Some arbitrary set of variables and ops here. For example...
  out = tf.contrib.layers.fully_connected(inputs, 123)
  (...)
  return out
Run Code Online (Sandbox Code Playgroud)

然后,我用它来建立这样的网络。

inputs = tf.placeholder(...)
outputs = build_network(inputs)
Run Code Online (Sandbox Code Playgroud)

如果我想构建更多具有相同结构但有独立变量的网络,我只需要在其他变量范围以及可选的其他输入下再次调用build_network即可

我的问题是:如果此build_network不再可用,但原始网络的输入和输出可用,该怎么办?换句话说:如何将整个子图从输出一直克隆到另一个具有自己独立变量集但结构相同的变量作用域中的输入

我的理解是,一般来说tf.contrib.graph_editor尤其是graph_editor.copy正是我要做这些事情所需的工具。但是,我找不到使用它们的任何好例子。有什么建议么?

tensorflow

5
推荐指数
1
解决办法
1192
查看次数

查找 tensorflow op 依赖的所有变量

有没有办法找到给定操作(通常是损失)所依赖的所有变量?我想使用它然后将此集合传递给optimizer.minimize()tf.gradients()使用各种set().intersection()组合。

到目前为止,我已经找到op.op.inputs并尝试了一个简单的 BFS,但我从来没有遇到Variabletf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES)或返回的对象slim.get_variables()

相应的“Tensor.op._id andVariables.op._id”字段之间似乎确实存在对应关系,但我不确定这是我应该依赖的东西。

或者,也许我一开始就不应该这样做?我当然可以在构建图形时精心构建不相交的变量集,但是如果我更改模型,很容易遗漏一些东西。

tensorflow

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

标签 统计

tensorflow ×4