为什么我收到属性错误?无法追溯,

如何解决为什么我收到属性错误?无法追溯,

我仍在学习 Python 并尝试在 Jupyter notebook (TF 2.4.1) 中运行此 Keras 代码,用于此 link 中可用的三元组连体网络。我的数据集已正确加载。但是不知道为什么这个错误一再出现。

我无法追踪错误。有人知道怎么回事吗?

代码

import time

dataset_train,dataset_test,x_train_origin,y_train_origin,x_test_origin,y_test_origin = buildDataSet()

network = build_network(input_shape,128)
network_train = build_model(input_shape,network,margin=0.2)
network_train.compile(loss=None,optimizer=Adam(0.0001),metrics=['accuracy'])

print("Starting training process!")
print("-------------------------------------")
t_start = time.time()
n_iter = 10


for i in range(1,n_iter+1):
    triplets = get_batch_hard(100,10,network)
    loss = network_train.train_on_batch(triplets,None)
    n_iteration += 1
    if i % evaluate_every == 0:
        print("\n ------------- \n")
        print("[{3}] Time for {0} iterations: {1:.1f} mins,Train Loss: {2}".format(i,(time.time()-t_start)/60.0,loss,n_iteration))
        probs,yprob = compute_probs(network,x_test_origin[:n_val,:,:],y_test_origin[:n_val])

错误信息:

    AttributeError                            Traceback (most recent call last)
    <ipython-input-22-e1501b44b94a> in <module>
         17 for i in range(1,n_iter+1):
         18     triplets = get_batch_hard(100,network)
    ---> 19     loss = network_train.train_on_batch(triplets,None)
         20     n_iteration += 1
         21     if i % evaluate_every == 0:
    
    ~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\training.py in train_on_batch(self,x,y,sample_weight,class_weight,reset_metrics,return_dict)
       1725                                                     class_weight)
       1726       self.train_function = self.make_train_function()
    -> 1727       logs = self.train_function(iterator)
       1728 
       1729     if reset_metrics:
    
    ~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\eager\def_function.py in __call__(self,*args,**kwds)
        826     tracing_count = self.experimental_get_tracing_count()
        827     with trace.Trace(self._name) as tm:
    --> 828       result = self._call(*args,**kwds)
        829       compiler = "xla" if self._experimental_compile else "nonXla"
        830       new_tracing_count = self.experimental_get_tracing_count()
    
    ~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\eager\def_function.py in _call(self,**kwds)
        869       # This is the first call of __call__,so we have to initialize.
        870       initializers = []
    --> 871       self._initialize(args,kwds,add_initializers_to=initializers)
        872     finally:
        873       # At this point we kNow that the initialization is complete (or less
    
    ~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\eager\def_function.py in _initialize(self,args,add_initializers_to)
        724     self._concrete_stateful_fn = (
        725         self._stateful_fn._get_concrete_function_internal_garbage_collected(  # pylint: disable=protected-access
    --> 726             *args,**kwds))
        727 
        728     def invalid_creator_scope(*unused_args,**unused_kwds):
    
    ~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\eager\function.py in _get_concrete_function_internal_garbage_collected(self,**kwargs)
       2967       args,kwargs = None,None
       2968     with self._lock:
    -> 2969       graph_function,_ = self._maybe_define_function(args,kwargs)
       2970     return graph_function
       2971 
    
    ~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\eager\function.py in _maybe_define_function(self,kwargs)
       3359 
       3360           self._function_cache.missed.add(call_context_key)
    -> 3361           graph_function = self._create_graph_function(args,kwargs)
       3362           self._function_cache.primary[cache_key] = graph_function
       3363 
    
    ~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\eager\function.py in _create_graph_function(self,kwargs,override_flat_arg_shapes)
       3204             arg_names=arg_names,3205             override_flat_arg_shapes=override_flat_arg_shapes,-> 3206             capture_by_value=self._capture_by_value),3207         self._function_attributes,3208         function_spec=self.function_spec,~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\framework\func_graph.py in func_graph_from_py_func(name,python_func,signature,func_graph,autograph,autograph_options,add_control_dependencies,arg_names,op_return_value,collections,capture_by_value,override_flat_arg_shapes)
        988         _,original_func = tf_decorator.unwrap(python_func)
        989 
    --> 990       func_outputs = python_func(*func_args,**func_kwargs)
        991 
        992       # invariant: `func_outputs` contains only Tensors,CompositeTensors,~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\eager\def_function.py in wrapped_fn(*args,**kwds)
        632             xla_context.Exit()
        633         else:
    --> 634           out = weak_wrapped_fn().__wrapped__(*args,**kwds)
        635         return out
        636 
    
    ~\AppData\Roaming\Python\python37\site-packages\tensorflow\python\framework\func_graph.py in wrapper(*args,**kwargs)
        975           except Exception as e:  # pylint:disable=broad-except
        976             if hasattr(e,"ag_error_Metadata"):
    --> 977               raise e.ag_error_Metadata.to_exception(e)
        978             else:
        979               raise
    
    AttributeError: in user code:
    
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\training.py:805 train_function  *
            return step_function(self,iterator)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\training.py:795 step_function  **
            outputs = model.distribute_strategy.run(run_step,args=(data,))
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\distribute\distribute_lib.py:1259 run
            return self._extended.call_for_each_replica(fn,args=args,kwargs=kwargs)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\distribute\distribute_lib.py:2730 call_for_each_replica
            return self._call_for_each_replica(fn,kwargs)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\distribute\distribute_lib.py:3417 _call_for_each_replica
            return fn(*args,**kwargs)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\training.py:788 run_step  **
            outputs = model.train_step(data)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\training.py:758 train_step
            self.compiled_metrics.update_state(y,y_pred,sample_weight)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\compile_utils.py:387 update_state
            self.build(y_pred,y_true)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\compile_utils.py:318 build
            self._metrics,y_true,y_pred)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\util\nest.py:1163 map_structure_up_to
            **kwargs)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\util\nest.py:1258 map_structure_with_tuple_paths_up_to
            func(*args,**kwargs) for args in zip(flat_path_gen,*flat_value_gen)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\util\nest.py:1258 <listcomp>
            func(*args,*flat_value_gen)
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\util\nest.py:1161 <lambda>
            lambda _,*values: func(*values),# discards the path arg.
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\compile_utils.py:418 _get_metric_objects
            return [self._get_metric_object(m,y_t,y_p) for m in metrics]
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\compile_utils.py:418 <listcomp>
            return [self._get_metric_object(m,y_p) for m in metrics]
        C:\Users\Afaq\AppData\Roaming\Python\python37\site-packages\tensorflow\python\keras\engine\compile_utils.py:439 _get_metric_object
            y_t_rank = len(y_t.shape.as_list())
    
        AttributeError: 'nonetype' object has no attribute 'shape'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?