title: placeholder return gen_array_ops._placeholder(dtype=dtype, shape=shape, name=name)
body: <p>I am trying to do classification between dogs and cats; for this I use a  CNN model, but when I place the Image matrix to <code>tf.placeholder</code>, I get an error that "placeholder return gen_array_ops._placeholder(dtype=dtype, shape=shape, name=name)", but I don't understand the problem.</p>
  
  <p>How can I fix this?</p>
  
  <p>My code:</p>
  
  <pre><code>import os
  import warnings
  import glob
  import h5py
  import tensorflow as tf
  import math as mt
  import numpy as np
  import cv2 as cv
  from matplotlib import pyplot
  from tflearn.data_utils import image_preloader
  from random import shuffle
  import tflearn as tfl
  warnings.simplefilter("ignore")
  path="E:\data\minimum"
  path1='E:\data\\train.txt'
  path2='E:\data\\testing.txt'
  path3='E:\data\\validation.txt'
  training=0.7
  testing=0.2
  validation=0.1
  list=os.listdir(path)
  shuffle(list)
  lenght=len(list)
  file=open(path1,'w')
  train=list[0: int(training*lenght)]
  for i in train:
      if(i[0:3]=='cat'):
          file.write(path + '/'+ i + ' 0\n')
      elif(i[0:3]=='dog'):
          file.write(path + '/'+ i + ' 1\n')
  file.close()
  file=open(path3,'w')
  train=list[0: int(validation*lenght)]
  for i in train:
      if(i[0:3]=='cat'):
          file.write(path + '/'+ i + ' 0\n')
      elif(i[0:3]=='dog'):
          file.write(path + '/'+ i + ' 1\n')
  file.close()
  file=open(path2,'w')
  train=list[0: int(testing*lenght)]
  for i in train:
      if(i[0:3]=='cat'):
          file.write(path + '/'+ i + ' 0\n')
      elif(i[0:3]=='dog'):
          file.write(path + '/'+ i + ' 1\n')
  file.close()
  
  X_train, Y_train =image_preloader(path1, image_shape=(50,50),mode='file', categorical_labels=True,normalize=True)
  X_test, Y_test =image_preloader(path2, image_shape=(50,50),mode='file', categorical_labels=True,normalize=True)
  X_val, Y_val =image_preloader(path3, image_shape=(50,50),mode='file', categorical_labels=True,normalize=True)
  print ("Dataset")
  print ("Number of training images {}".format(len(X_train)))
  print ("Number of testing images {}".format(len(X_test)))
  print ("Number of validation images {}".format(len(X_val)))
  print ("Shape of an image {}" .format(X_train[1].shape))
  print ("Shape of label:{} ,number of classes: {}".format(Y_train[1].shape,len(Y_train[1])))
  
  pyplot.imshow(X_train[1])
  pyplot.axis('off')
  pyplot.title('Sample image with label {}'.format(Y_train[1]))
  pyplot.show()
  
  
  X=tf.placeholder(tf.float32,shape=[None,56,56],name='input image')
  Y=tf.placeholder(tf.float32,shape=[None,56,56],name='label')
  ## convulotion layer started code starting from this point
  input_layer=X
  
  CLayer1=tfl.layers.conv.conv_2d(input_layer,nb_filter=64,filter_size=5,strides=[1,1,1,1],padding='same',activation='relu',regularizer='L2',name='layer1')
  outlayer1=tfl.layers.conv.max_pool_2d(CLayer1,2)
  
  CLayer2=tfl.layers.conv.conv_2d(outlayer1,nb_filter=128,filter_size=5,strides=[1,1,1,1],padding='same',activation='relu',regularizer='L2',name='layer2')
  outlayer2=tfl.layers.conv.max_pool_2d(CLayer2,2)
  
  CLayer3=tfl.layers.conv.conv_2d(outlayer2,nb_filter=128,filter_size=5,strides=[1,1,1,1],padding='same',activation='relu',regularizer='L2',name='layer3')
  outlayer3=tfl.layers.conv.max_pool_2d(CLayer3,2)
  
  ConnectedL1=tfl.layers.fully_connected(outlayer3,4096)
  dropout1 = tfl.layers.core.dropout(ConnectedL1, 0.8)
  
  ConnectedL2=tfl.layers.fully_connected(dropout1,4096)
  dropout2 = tfl.layers.core.dropout(ConnectedL2, 0.8)
  
  prediction = tfl.layers.core.fully_connected(dropout2, 2, activation='softmax', name='output')
  
  #loss
  cross_entropy = tf.reduce_mean(-tf.reduce_sum(Y * tf.log(prediction+np.exp(-10)), reduction_indices=[1]))
  train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)
  
  correct_prediction = tf.equal(tf.argmax(prediction,1), tf.argmax(Y,1))
  accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
  # session parameters
  sess = tf.InteractiveSession()
  #initialising variables
  sess = tf.InteractiveSession(config=tf.ConfigProto(log_device_placement=False))
  init = tf.global_variables_initializer()
  sess.run(init)
  saver = tf.train.Saver()
  save_path="/Users/Enkay/Documents/Viky/python/img-classification/mark3.ckpt"
  # grabbing the default graph
  g = tf.get_default_graph()
  
  # every operations in our graph
  [op.name for op in g.get_operations()]
  
  epoch=5
  batch_size=4
  no_itr_per_epoch=len(X_train)
  n_test=len(X_test)
  n_val=len(X_val)
  
  # Now iterate over our dataset n_epoch times
  for iteration in range(epoch):
      print("Iteration no: {} ".format(iteration))
  
      previous_batch = 0
      # Do our mini batches:
      for i in range(no_itr_per_epoch):
          current_batch = previous_batch + batch_size
          x_input = X_train[previous_batch:current_batch]
          x_images = np.reshape(x_input, [batch_size, 50, 50, 3])
  
          y_input = Y_train[previous_batch:current_batch]
          y_label = np.reshape(y_input, [batch_size, 2])
          previous_batch = previous_batch + batch_size
  
          _, loss = sess.run([train_step, cross_entropy], feed_dict={X: x_images,Y: y_label})
          if i % 100 == 0:
              print("Training loss : {}".format(loss))
  
      x_test_images = np.reshape(X_test[0:n_test], [n_test, 50, 50, 3])
      y_test_labels = np.reshape(Y_test[0:n_test], [n_test, 2])
      Accuracy_test = sess.run(accuracy,
                               feed_dict={
                                   X: x_test_images,
                                   Y: y_test_labels
                               })
      Accuracy_test = round(Accuracy_test * 100, 2)
  
      x_val_images = np.reshape(X_val[0:n_val], [n_val, 50, 50, 3])
      y_val_labels = np.reshape(Y_val[0:n_val], [n_val, 2])
      Accuracy_val = sess.run(accuracy,
                              feed_dict={
                                  X: x_val_images,
                                  Y: y_val_labels
                              })
      Accuracy_val = round(Accuracy_val * 100, 2)
      print("Accuracy ::  Test_set {} % , Validation_set {} % ".format(Accuracy_test, Accuracy_val))
  </code></pre>
  
  <p><strong>Error:</strong></p>
  
  <pre><code>File "E:/pythonproject2/TASK/__init__.py", line 67, in &lt;module&gt;
      X=tf.placeholder(tf.float32,shape=[None,56,56],name='input image')
    File "C:\Users\salma\Anaconda4\envs\lib\site-packages\tensorflow\python\ops\array_ops.py", line 1746, in placeholder
      return gen_array_ops._placeholder(dtype=dtype, shape=shape, name=name)
    File "C:\Users\salma\Anaconda4\envs\lib\site-packages\tensorflow\python\ops\gen_array_ops.py", line 4026, in _placeholder
      "Placeholder", dtype=dtype, shape=shape, name=name)
    File "C:\Users\salma\Anaconda4\envs\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 394, in _apply_op_helper
      with g.as_default(), ops.name_scope(name) as scope:
    File "C:\Users\salma\Anaconda4\envs\lib\site-packages\tensorflow\python\framework\ops.py", line 5621, in __enter__
      return self._name_scope.__enter__()
    File "C:\Users\salma\Anaconda4\envs\lib\contextlib.py", line 81, in __enter__
      return next(self.gen)
    File "C:\Users\salma\Anaconda4\envs\lib\site-packages\tensorflow\python\framework\ops.py", line 3949, in name_scope
      raise ValueError("'%s' is not a valid scope name" % name)
  ValueError: 'input image' is not a valid scope name
  </code></pre>