با سلام. من به مشکلی برخوردم و ممنون میشم اگر کسی بتونه کمکم کنه..
من یک برنامه ای نوشتم که سه تا تابع داره و میخوام یکی از اونها رو k بار مثلا ۳۲ بار اجرا کنم.. تابع به تنهایی اجرا میشه ولی وقتی میذارمش تو حلقه for یا حتی while تا چند بار اجراش کنم خطا میده.. کلی هم سرچ کردم و چیزی دستگیرم نشد.. اگر بخواهیم یک تابعی رو با پایتون چند بار اجرا کنیم و خروجیهاشو ذخیره کنیم باید چکار کرد؟
من با اوبونتو و ابزار تنسورفلو کار میکنم...
کد رو در زیر گذاشتم:
https://pastebin.com/kFde3pbz
خروجی تابع Generator ورودی تابع Encoder هست که این تابع به تنهایی وقتی صداش میزنم اجرا میشه ولی وقتی میخوام مثلا ۳۲ بار اجراش کنم و در حلقه میذارم خطا میده.. البتع توابع تعریف شده از نوع کانولوشن هستند.. مشکل از کجاست؟
اینم خطایی که میده!!
Encoder architecture:
Traceback (most recent call last):
File "mnist_hashgan.py", line 181, in
out_D1 = Encoder(dd , dropout_rate = 0.7)
File "mnist_hashgan.py", line 138, in Encoder
padding = 'same', activation = tf.nn.leaky_relu, name = 'conv1') # ?*32*32*128
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/layers/convolutional.py", line 621, in conv2d
return layer.apply(inputs)
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/layers/base.py", line 828, in apply
return self.__call__(inputs, *args, **kwargs)
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/layers/base.py", line 699, in call
self.build(input_shapes)
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/layers/convolutional.py", line 144, in build
dtype=self.dtype)
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/layers/base.py", line 546, in add_variable
partitioner=partitioner)
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/training/checkpointable.py", line 436, in _add_variable_with_custom_getter
**kwargs_for_getter)
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/ops/variable_scope.py", line 1317, in get_variable
constraint=constraint)
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/ops/variable_scope.py", line 1079, in get_variable
constraint=constraint)
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/ops/variable_scope.py", line 425, in get_variable
constraint=constraint)
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/ops/variable_scope.py", line 394, in _true_getter
use_resource=use_resource, constraint=constraint)
File "/home/daraei/tensorflowgpu3/lib/python3.5/site-packages/tensorflow/python/ops/variable_scope.py", line 733, in _get_single_variable
name, "".join(traceback.format_list(tb))))
ValueError: Variable Encoder/conv1/kernel already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE in VarScope? Originally defined at:
File "mnist_hashgan.py", line 138, in Encoder
padding = 'same', activation = tf.nn.leaky_relu, name = 'conv1') # ?*32*32*128
File "mnist_hashgan.py", line 181, in
out_D1 = Encoder(dd , dropout_rate = 0.7)