TensorFlow,Julia//图中已存在节点名称

TensorFlow,Julia//图中已存在节点名称,tensorflow,julia,Tensorflow,Julia,我将TensorFlow与Julia一起使用,我想用以下公式简化一个表达式: cross_entropy = nn.sparse_softmax_cross_entropy_with_logits( logits, labels) optimizer = train.GradientDescentOptimizer(learning_rate) train_op = train.minimize(optimizer,reduce_mean(cross_entropy)) 我有以下错误:

我将TensorFlow与Julia一起使用,我想用以下公式简化一个表达式:

cross_entropy = nn.sparse_softmax_cross_entropy_with_logits( logits, labels) 

optimizer = train.GradientDescentOptimizer(learning_rate)

train_op = train.minimize(optimizer,reduce_mean(cross_entropy))
我有以下错误:

 ERROR: Tensorflow error: Status: Node name 'gradients/reduce_grad/Reshape' already exists in the Graph

Stacktrace:
 [1] check_status at /home/jabou/.julia/v0.6/TensorFlow/src/core.jl:459 [inlined]
 [2] import_graph_def(::TensorFlow.Graph, ::Array{UInt8,1}, ::TensorFlow.GraphImportOptions) at /home/jabou/.julia/v0.6/TensorFlow/src/core.jl:1680
 [3] import_graph_def(::TensorFlow.Graph, ::TensorFlow.tensorflow.GraphDef, ::TensorFlow.GraphImportOptions) at /home/jabou/.julia/v0.6/TensorFlow/src/core.jl:1690
 [4] extend_graph(::TensorFlow.Graph, ::Array{Any,1}) at /home/jabou/.julia/v0.6/TensorFlow/src/core.jl:427
 [5] extend_graph(::Array{Any,1}) at /home/jabou/.julia/v0.6/TensorFlow/src/core.jl:291
 [6] gradients(::TensorFlow.Tensor{Float32}, ::Array{Any,1}, ::Void) at /home/jabou/.julia/v0.6/TensorFlow/src/core.jl:1583
 [7] gradients(::TensorFlow.Tensor{Float32}, ::Array{Any,1}) at /home/jabou/.julia/v0.6/TensorFlow/src/core.jl:1575
 [8] compute_gradients(::TensorFlow.train.GradientDescentOptimizer, ::TensorFlow.Tensor{Float32}, ::Void) at /home/jabou/.julia/v0.6/TensorFlow/src/train.jl:48
 [9] #minimize#1(::Void, ::Void, ::Void, ::Function, ::TensorFlow.train.GradientDescentOptimizer, ::TensorFlow.Tensor{Float32}) at /home/jabou/.julia/v0.6/TensorFlow/src/train.jl:40
 [10] minimize(::TensorFlow.train.GradientDescentOptimizer, ::TensorFlow.Tensor{Float32}) at /home/jabou/.julia/v0.6/TensorFlow/src/train.jl:37
在python中,有一条指令可以避免错误:
tf.reset\u default\u graph()
但是在Julia中没有类似的命令,我让它去GitHub:

你能帮我吗

编辑

有时,我对python版本有这样的警告。我用指示的命令升级了该版本,但它不起作用。也许问题就在这里

WARNING: Your Python TensorFlow client version (1.5.0) is below the TensorFlow backend version (1.6.0). This can cause various errors. Please upgrade your Python TensorFlow installation and then restart Julia.
You can upgrade by calling `using Conda; Conda.update();` from Julia.
这是我的密码:

ENV["CUDA_VISIBLE_DEVICES"] = "0" # It is to use the GPU

using TensorFlow
using Distributions

rng = MersenneTwister(1235) 

function weight_variable(shape)
   initial = map(Float32, rand(Normal(0, .001), shape...))
   return Variable(initial)
end

function bias_variable(shape)
   initial = fill(Float32(.1), shape...)
   return Variable(initial)
end


# Inputs

num_pixels = 12

num_classes = 10

x = placeholder(Float32, shape=[nothing, num_pixels])

Weight = weight_variable([num_pixels,num_classes]) 

biases = bias_variable([num_classes]) 

logits = x*Weight  + biases

labels = rand(rng,0:9,10) # Random labels for the test

cross_entropy = nn.sparse_softmax_cross_entropy_with_logits( logits = logits, labels = labels)


cross_entropy_reduce = reduce_mean(cross_entropy)

optimizer = train.GradientDescentOptimizer(0.001)

train_op = train.minimize(optimizer,cross_entropy_reduce) # Here is the crash
我使用atom作为IDE,使用julia 0.6.2


谢谢。

我在这个例子中遇到了同样的问题:

using TensorFlow

sess = Session(Graph())
W = Variable([1.0, 1.0])
loss = nn.l2_loss(W)
optimizer = train.GradientDescentOptimizer(0.5)
train_step = train.minimize(optimizer, loss) # crash
这似乎是一个版本问题。TensorFlow 1.5和1.6出现了与您相同的错误。但TensorFlow 1.4.0运行良好。我也试过你的例子,看起来都不错

确保文件/home/name/.julia/v0.6/TensorFlow/deps/build.jl中的第四行和第五行是

const cur_version = "1.4.0"
const cur_py_version = "1.4.0"
并使用julia命令行中的
Pkg.build(“TensorFlow”)
重新生成包。
如果它不起作用,您可以尝试删除并重新安装该软件包。

请发布一个MWE,可以执行该MWE以获取您的错误。我用我的代码编辑了我的帖子……我无法重现错误。以上在我的机器上运行良好。因此,我添加了stacktrace和一个警告,我有时会在运行程序时发出警告。。。也许有一些信息。这是MWE的解释,如果这是最小的,我会感到惊讶。请提供复制错误的较小代码。(通过制作MWE,您可能会发现自己出了什么问题。)您好,谢谢您的帮助,但它不起作用。。。我也有同样的错误。当我试图重新安装软件包时,它说它不知道软件包TensorFlow(拼写正确,我检查了它)。。。因此,我将我的保存包粘贴到中。然后我用1.4.0版重建。我的问题是配置:我用TensorFlow 1.6版配置了所有。因此,我下载了1.4.0版并重新启动配置(使用./configure)。但是我无法编译文件libtensorflow.so在文件夹tensorflow-v1.4.0中(通常,我将此文件粘贴在.julia/v0.6/tensorflow/deps/usr/bin中),然后,我无法使用我的gpu并更改配置。。。