Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ValueError:在乘法运算中使用占位符变量时,不支持任何值_Python_Tensorflow_Jupyter Notebook_Placeholder_Quantile Regression - Fatal编程技术网

Python ValueError:在乘法运算中使用占位符变量时,不支持任何值

Python ValueError:在乘法运算中使用占位符变量时,不支持任何值,python,tensorflow,jupyter-notebook,placeholder,quantile-regression,Python,Tensorflow,Jupyter Notebook,Placeholder,Quantile Regression,我在tensorflow的网络图中使用以下代码: self.num_quantiles = tf.placeholder(dtype=tf.int32) num_samples = self.rnn.get_shape().as_list()[0] quantiles_shape = [self.num_quantiles * num_samples, 1] self.quantiles = tf.random_uniform(quantiles_shape, minval=0, maxval

我在tensorflow的网络图中使用以下代码:

self.num_quantiles = tf.placeholder(dtype=tf.int32)

num_samples = self.rnn.get_shape().as_list()[0]
quantiles_shape = [self.num_quantiles * num_samples, 1]
self.quantiles = tf.random_uniform(quantiles_shape, minval=0, maxval=1, dtype=tf.float32)
但是,由于乘法“None values not supported”(无值不支持),我得到了一个错误

有人能告诉我如何使用占位符正确执行乘法吗

  ---------------------------------------------------------------------------
  ValueError                                Traceback (most recent call last)
  <ipython-input-31-4f68d3e68617> in <module>
  2 tf.reset_default_graph()
  3 #We define the primary and target q-networks
  ----> 4 mainQN = Qnetwork('main')
  5 targetQN = Qnetwork('target')
  6 

<ipython-input-27-5b3a3af3cf09> in __init__(self, myScope)
136         #batch_size = state_net.get_shape().as_list()[0]
137         num_samples = self.rnn.get_shape().as_list()[0] #batch_size
--> 138         quantiles_shape = [self.num_quantiles * num_samples, 1]
139         self.quantiles = tf.random_uniform(quantiles_shape, minval=0, maxval=1, dtype=tf.float32)
140 

C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py in binary_op_wrapper(x, y)
813       elif not isinstance(y, sparse_tensor.SparseTensor):
814         try:
--> 815           y = ops.convert_to_tensor(y, dtype=x.dtype.base_dtype, name="y")
816         except TypeError:
817           # If the RHS is not a tensor, it might be a tensor aware object

C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py in  convert_to_tensor(value, dtype, name, preferred_dtype)
1037     ValueError: If the `value` is a tensor not of given `dtype` in graph mode.
1038   """
-> 1039   return convert_to_tensor_v2(value, dtype, preferred_dtype, name)
1040 
1041 

C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\framework\tensor_util.py in make_tensor_proto(values, dtype, shape, verify_shape, allow_broadcast)
452   else:
453     if values is None:
--> 454       raise ValueError("None values not supported.")
455     # if dtype is provided, forces numpy array to be the type
456     # provided if possible.

ValueError: None values not supported.
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在里面
2 tf.reset_default_graph()
3#我们定义了主要和目标q网络
---->4 mainQN=Qnetwork('main')
5 targetQN=Qnetwork('target')
6.
in_uuuinit_uuuu(self,myScope)
136#批次大小=状态网络。获取形状().作为列表()[0]
137 num_samples=self.rnn.get_shape().as_list()[0]#批次大小
-->138分位数\u形状=[self.num\u分位数*num\u样本,1]
139 self.quantiles=tf.random\u uniform(分位数形状,minval=0,maxval=1,dtype=tf.float32)
140
C:\ProgramData\Anaconda3\lib\site packages\tensorflow\python\ops\math\u ops.py二进制\u op\u包装(x,y)
813如果不存在(y,稀疏张量,稀疏传感器):
814试试:
-->815 y=ops.convert_to_tensor(y,dtype=x.dtype.base_dtype,name=“y”)
816除类型错误外:
817#如果RHS不是张量,它可能是张量感知对象
C:\ProgramData\Anaconda3\lib\site packages\tensorflow\python\framework\ops.py in convert\u to\u tensor(值、数据类型、名称、首选数据类型)
1037 ValueError:如果“value”是一个张量,而不是图形模式中给定的“dtype”。
1038   """
->1039返回转换为张量(值、数据类型、首选数据类型、名称)
1040
1041
C:\ProgramData\Anaconda3\lib\site packages\tensorflow\python\framework\tensor\u util.py在make\u tensor\u proto中(值、数据类型、形状、验证形状、允许广播)
452其他:
453如果值为无:
-->454 raise VALUE ERROR(“不支持无值”)
455#如果提供了dtype,则强制numpy数组为该类型
456#如果可能,提供。
ValueError:不支持任何值。

我的解决方案是在图形外部执行乘法运算,然后将此值提供给新的占位符:

 self.quantiles_shape=tf.placeholder(dtype=tf.int32)
 num_samples = self.rnn.get_shape().as_list()[0]
 self.quantiles = tf.random_uniform([self.quantiles_shape, 1], minval=0, maxval=1, dtype=tf.float32)
这不是我理想中想要的,但至少它是有效的