Python Tensorflow函数,为范围内的值提供1

Python Tensorflow函数,为范围内的值提供1,python,python-3.x,tensorflow,Python,Python 3.x,Tensorflow,我正在尝试编写一个基于Tensorflow的函数,如果值介于minval和maxval之间,则给出输出1,否则给出输出0 我使用的图形结构首先查找maxval以下的所有值和minval以上的所有值,并使用逻辑and import tensorflow as tf def betweentf(inp,minval,maxval): x=tf.Variable(inp,name='x',dtype=tf.float32) z1=tf.math.greater(x,minval,nam

我正在尝试编写一个基于Tensorflow的函数,如果值介于minval和maxval之间,则给出输出1,否则给出输出0

我使用的图形结构首先查找maxval以下的所有值和minval以上的所有值,并使用逻辑and

import tensorflow as tf
def betweentf(inp,minval,maxval):
    x=tf.Variable(inp,name='x',dtype=tf.float32)
    z1=tf.math.greater(x,minval,name='mygreater')
    z2=tf.math.less(x,maxval,name='myless')
    z=tf.math.logical_and(z1,z2)
    out=tf.cast(z, tf.float32)
    return out

x=tf.Variable([1,2,3,4,5,6,7],name='x',dtype=tf.float32)
r=betweentf(x,1,3)
sess=tf.Session()
sess.run(x.initializer)
result=sess.run(r)
print(result)
sess.close()
我不确定是什么问题。以下是错误:

---------------------------------------------------------------------------
FailedPreconditionError                   Traceback (most recent call last)
~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\client\session.py in _do_call(self, fn, *args)
   1355     try:
-> 1356       return fn(*args)
   1357     except errors.OpError as e:

~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\client\session.py in _run_fn(feed_dict, fetch_list, target_list, options, run_metadata)
   1340       return self._call_tf_sessionrun(
-> 1341           options, feed_dict, fetch_list, target_list, run_metadata)
   1342 

~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\client\session.py in _call_tf_sessionrun(self, options, feed_dict, fetch_list, target_list, run_metadata)
   1428         self._session, options, feed_dict, fetch_list, target_list,
-> 1429         run_metadata)
   1430 

FailedPreconditionError: Attempting to use uninitialized value x_4
     [[{{node x_4/read}}]]

During handling of the above exception, another exception occurred:

FailedPreconditionError                   Traceback (most recent call last)
<ipython-input-5-2d5235662348> in <module>
     12 sess=tf.Session()
     13 sess.run(x.initializer)
---> 14 result=sess.run(r)
     15 print(result)
     16 sess.close()

~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\client\session.py in run(self, fetches, feed_dict, options, run_metadata)
    948     try:
    949       result = self._run(None, fetches, feed_dict, options_ptr,
--> 950                          run_metadata_ptr)
    951       if run_metadata:
    952         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\client\session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
   1171     if final_fetches or final_targets or (handle and feed_dict_tensor):
   1172       results = self._do_run(handle, final_targets, final_fetches,
-> 1173                              feed_dict_tensor, options, run_metadata)
   1174     else:
   1175       results = []

~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\client\session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
   1348     if handle is None:
   1349       return self._do_call(_run_fn, feeds, fetches, targets, options,
-> 1350                            run_metadata)
   1351     else:
   1352       return self._do_call(_prun_fn, handle, feeds, fetches)

~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\client\session.py in _do_call(self, fn, *args)
   1368           pass
   1369       message = error_interpolation.interpolate(message, self._graph)
-> 1370       raise type(e)(node_def, op, message)
   1371 
   1372   def _extend_graph(self):

FailedPreconditionError: Attempting to use uninitialized value x_4
     [[node x_4/read (defined at <ipython-input-5-2d5235662348>:3) ]]

Original stack trace for 'x_4/read':
  File "C:\ProgramData\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\ProgramData\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launcher.py", line 16, in <module>
    app.launch_new_instance()
  File "C:\ProgramData\Anaconda3\lib\site-packages\traitlets\config\application.py", line 658, in launch_instance
    app.start()
  File "C:\ProgramData\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 505, in start
    self.io_loop.start()
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\platform\asyncio.py", line 148, in start
    self.asyncio_loop.run_forever()
  File "C:\ProgramData\Anaconda3\lib\asyncio\base_events.py", line 539, in run_forever
    self._run_once()
  File "C:\ProgramData\Anaconda3\lib\asyncio\base_events.py", line 1775, in _run_once
    handle._run()
  File "C:\ProgramData\Anaconda3\lib\asyncio\events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\ioloop.py", line 690, in <lambda>
    lambda f: self._run_callback(functools.partial(callback, future))
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\ioloop.py", line 743, in _run_callback
    ret = callback()
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 787, in inner
    self.run()
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 748, in run
    yielded = self.gen.send(value)
  File "C:\ProgramData\Anaconda3\lib\site-packages\ipykernel\kernelbase.py", line 365, in process_one
    yield gen.maybe_future(dispatch(*args))
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 209, in wrapper
    yielded = next(result)
  File "C:\ProgramData\Anaconda3\lib\site-packages\ipykernel\kernelbase.py", line 272, in dispatch_shell
    yield gen.maybe_future(handler(stream, idents, msg))
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 209, in wrapper
    yielded = next(result)
  File "C:\ProgramData\Anaconda3\lib\site-packages\ipykernel\kernelbase.py", line 542, in execute_request
    user_expressions, allow_stdin,
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 209, in wrapper
    yielded = next(result)
  File "C:\ProgramData\Anaconda3\lib\site-packages\ipykernel\ipkernel.py", line 294, in do_execute
    res = shell.run_cell(code, store_history=store_history, silent=silent)
  File "C:\ProgramData\Anaconda3\lib\site-packages\ipykernel\zmqshell.py", line 536, in run_cell
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2854, in run_cell
    raw_cell, store_history, silent, shell_futures)
  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2880, in _run_cell
    return runner(coro)
  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\async_helpers.py", line 68, in _pseudo_sync_runner
    coro.send(None)
  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3057, in run_cell_async
    interactivity=interactivity, compiler=compiler, result=result)
  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3248, in run_ast_nodes
    if (await self.run_code(code, result,  async_=asy)):
  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3325, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-5-2d5235662348>", line 11, in <module>
    r=betweentf(x,1,3)
  File "<ipython-input-5-2d5235662348>", line 3, in betweentf
    x=tf.Variable(inp,name='x',dtype=tf.float32)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\ops\variables.py", line 259, in __call__
    return cls._variable_v1_call(*args, **kwargs)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\ops\variables.py", line 220, in _variable_v1_call
    shape=shape)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\ops\variables.py", line 198, in <lambda>
    previous_getter = lambda **kwargs: default_variable_creator(None, **kwargs)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\ops\variable_scope.py", line 2511, in default_variable_creator
    shape=shape)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\ops\variables.py", line 263, in __call__
    return super(VariableMetaclass, cls).__call__(*args, **kwargs)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\ops\variables.py", line 1568, in __init__
    shape=shape)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\ops\variables.py", line 1755, in _init_from_args
    self._snapshot = array_ops.identity(self._variable, name="read")
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\util\dispatch.py", line 180, in wrapper
    return target(*args, **kwargs)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\ops\array_ops.py", line 86, in identity
    ret = gen_array_ops.identity(input, name=name)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\ops\gen_array_ops.py", line 4996, in identity
    "Identity", input=input, name=name)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\framework\op_def_library.py", line 788, in _apply_op_helper
    op_def=op_def)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\util\deprecation.py", line 507, in new_func
    return func(*args, **kwargs)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\framework\ops.py", line 3616, in create_op
    op_def=op_def)
  File "C:\Users\r.jack\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\framework\ops.py", line 2005, in __init__
    self._traceback = tf_stack.extract_stack()
---------------------------------------------------------------------------
FailedPremissionError回溯(最近一次调用上次)
调用中的~\AppData\Roaming\Python\Python37\site packages\tensorflow\Python\client\session.py(self,fn,*args)
1355尝试:
->1356返回fn(*args)
1357除错误外。操作错误为e:
运行fn中的~\AppData\Roaming\Python\Python37\site packages\tensorflow\Python\client\session.py(提要目录、获取列表、目标列表、选项、运行元数据)
1340返回self.\u调用\u tf\u sessionrun(
->1341选项、提要、获取列表、目标列表、运行元数据)
1342
~\AppData\Roaming\Python\Python37\site packages\tensorflow\Python\client\session.py in\u call\u tf\u sessionrun(self、options、feed\u dict、fetch\u list、target\u list、run\u元数据)
1428自会话、选项、提要、获取列表、目标列表、,
->1429运行单元(元数据)
1430
FailedPremissionError:尝试使用未初始化的值x_4
[{{node x_4/read}}]]
在处理上述异常期间,发生了另一个异常:
FailedPremissionError回溯(最近一次调用上次)
在里面
12 sess=tf.Session()
13 sess.run(x.初始值设定项)
--->14结果=sess.run(r)
15打印(结果)
16节结束()
~\AppData\Roaming\Python\Python37\site packages\tensorflow\Python\client\session.py正在运行(self、fetches、feed\u dict、options、run\u元数据)
948尝试:
949结果=self.\u运行(无、获取、馈送、选项、,
-->950运行(元数据(ptr)
951如果运行\u元数据:
952 proto_data=tf_session.tf_GetBuffer(运行元数据\u ptr)
运行中的~\AppData\Roaming\Python\Python37\site packages\tensorflow\Python\client\session.py(self、handle、fetches、feed、dict、options、run\u元数据)
1171如果final_获取或final_目标或(句柄和馈送dict_张量):
1172 results=self.\u do\u run(句柄、最终目标、最终获取、,
->1173提要(输入张量、选项、运行元数据)
1174其他:
1175结果=[]
运行中的~\AppData\Roaming\Python\Python37\site packages\tensorflow\Python\client\session.py(self、handle、target\u list、fetch\u list、feed\u dict、options、run\u元数据)
1348如果句柄为“无”:
1349返回self.\u do\u call(\u run\u fn,feed,fetches,targets,options,
->1350运行单元(元数据)
1351其他:
1352返回self.\u do\u调用(\u prun\u fn、句柄、提要、获取)
调用中的~\AppData\Roaming\Python\Python37\site packages\tensorflow\Python\client\session.py(self,fn,*args)
1368通行证
1369 message=错误\u插值。插值(message,self.\u图形)
->1370提升类型(e)(节点定义、操作、消息)
1371
1372定义扩展图(自):
FailedPremissionError:尝试使用未初始化的值x_4
[[节点x_4/读取(定义于:3)]]
“x_4/读取”的原始堆栈跟踪:
文件“C:\ProgramData\Anaconda3\lib\runpy.py”,第193行,在作为主模块的运行模块中
“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
文件“C:\ProgramData\Anaconda3\lib\runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“C:\ProgramData\Anaconda3\lib\site packages\ipykernel\u launcher.py”,第16行,在
app.launch_new_instance()
文件“C:\ProgramData\Anaconda3\lib\site packages\traitlets\config\application.py”,第658行,在launch_实例中
app.start()
文件“C:\ProgramData\Anaconda3\lib\site packages\ipykernel\kernelapp.py”,第505行,在开始处
self.io_loop.start()
文件“C:\ProgramData\Anaconda3\lib\site packages\tornado\platform\asyncio.py”,第148行,在开始处
self.asyncio\u loop.run\u forever()
文件“C:\ProgramData\Anaconda3\lib\asyncio\base\u events.py”,第539行,永远运行
self._run_once()
文件“C:\ProgramData\Anaconda3\lib\asyncio\base\u events.py”,第1775行,在运行一次
句柄。_run()
文件“C:\ProgramData\Anaconda3\lib\asyncio\events.py”,第88行,正在运行
self.\u context.run(self.\u回调,*self.\u参数)
文件“C:\ProgramData\Anaconda3\lib\site packages\tornado\ioloop.py”,第690行,在
lambda f:self.\u run\u回调(functools.partial(回调,未来))
文件“C:\ProgramData\Anaconda3\lib\site packages\tornado\ioloop.py”,第743行,在运行回调中
ret=callback()
文件“C:\ProgramData\Anaconda3\lib\site packages\tornado\gen.py”,第787行,在内部
self.run()
文件“C:\ProgramData\Anaconda3\lib\site packages\tornado\gen.py”,第748行,正在运行
已生成=self.gen.send(值)
文件“C:\ProgramData\Anaconda3\lib\site packages\ipykernel\kernelbase.py”,第365行,进程中
未来产量(调度(*args))
文件“C:\ProgramData\Anaconda3\lib\site packages\tornado\gen.py”,第209行,在包装器中
产生=下一个(结果)
文件“C:\ProgramData\Anaconda3\lib\site packages\ipykernel\kernelbase.py”,第272行,在dispatch\u shell中
未来产量(处理程序(流、标识、味精))
文件“C:\ProgramData\Anaconda3\lib\site packages\tornado\gen.py”,第209行,在包装器中
产生=下一个(结果)
文件“C:\ProgramData\Anaconda3\lib\site packages\ipykernel\kernelbase.py”,第542行,在执行请求中
用户\u表达式,允许\u stdin,
文件“C:\ProgramData\Anaconda3\lib\site packages\tornado\gen.py”,第209行,在包装器中
产生=下一个(结果)
文件“C:\ProgramData\Anaconda3\lib\site packages\ipykernel\ipkernel.py”,第294行,在do_execute中
res=shell.run\u单元格(代码,store\u history=store\u history,silent=silent)
文件“C:\ProgramData\Anaconda3\lib\site packages\ipykernel\zmqshell.py”,第536行,在运行单元中
返回supe
import tensorflow as tf

def betweentf(inp,minval,maxval):    
    z1=tf.math.greater(inp,minval,name='mygreater')
    z2=tf.math.less(inp,maxval,name='myless')
    z=tf.math.logical_and(z1,z2)
    out=tf.cast(z, tf.float32)
    return out

x=tf.Variable([1,2,3,4,5,6,7],name='x',dtype=tf.float32)
r=betweentf(x,1,3)
sess=tf.Session()
sess.run(x.initializer)
result=sess.run(r)
print(result)
sess.close()