win10+GTX1060+tf1.15+object detection API踩坑记(3)

测试通过,开始训练

运行:

python object_detection/model_main.py  --logtostderr --train_dir=‘**’ --pipeline_config_path='**/**.config'

报错Windows fatal exception: access violation

改为python object_detection/model_main.py  --logtostderr --train_dir=** --pipeline_config_path=**/**.config

仍然报错:Windows fatal exception: access violation

将预训练模型拷入相应目录后,终于开始了。

但提示:NotImplementedError: Cannot convert a symbolic Tensor (lstm_2/strided_slice:0) to a numpy array.

查资料,此错误主要原因可能为numpy版本过高,numpy.__version__为1.21.0,降为1.19.0,又出现新的错误。

2021-09-04 08:45:09.525264: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_100.dll
Traceback (most recent call last):
  File "object_detection/model_main.py", line 25, in <module>
    from object_detection import model_lib
  File "d:\models-master\research\object_detection\model_lib.py", line 29, in <module>
    from object_detection import eval_util
  File "d:\models-master\research\object_detection\eval_util.py", line 35, in <module>
    from object_detection.metrics import coco_evaluation
  File "d:\models-master\research\object_detection\metrics\coco_evaluation.py", line 25, in <module>
    from object_detection.metrics import coco_tools
  File "d:\models-master\research\object_detection\metrics\coco_tools.py", line 51, in <module>
    from pycocotools import coco
  File "d:\miniconda3\lib\site-packages\pycocotools-2.0.2-py3.7-win-amd64.egg\pycocotools\coco.py", line 55, in <module>
    from . import mask as maskUtils
  File "d:\miniconda3\lib\site-packages\pycocotools-2.0.2-py3.7-win-amd64.egg\pycocotools\mask.py", line 3, in <module>
    import pycocotools._mask as _mask
  File "pycocotools\_mask.pyx", line 1, in init pycocotools._mask
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject

此错误又示为numpy版本过低,要升级版本,仍升级为1.21.0

    d:\models-master\research\object_detection\data_decoders\tf_example_decoder.py:532 default_groundtruth_weights  *
        return tf.ones(
    d:\miniconda3\lib\site-packages\tensorflow_core\python\util\deprecation.py:507 new_func
        return func(*args, **kwargs)
    d:\miniconda3\lib\site-packages\tensorflow_core\python\ops\array_ops.py:2560 ones
        output = _constant_if_small(one, shape, dtype, name)
    d:\miniconda3\lib\site-packages\tensorflow_core\python\ops\array_ops.py:2295 _constant_if_small
        if np.prod(shape) < 1000:
    <__array_function__ internals>:6 prod

    d:\miniconda3\lib\site-packages\numpy\core\fromnumeric.py:3052 prod
        keepdims=keepdims, initial=initial, where=where)
    d:\miniconda3\lib\site-packages\numpy\core\fromnumeric.py:86 _wrapreduction
        return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
    d:\miniconda3\lib\site-packages\tensorflow_core\python\framework\ops.py:736 __array__
        " array.".format(self.name))

    NotImplementedError: Cannot convert a symbolic Tensor (cond_2/strided_slice:0) to a numpy array.

stackoverflow提示因为win7的原因ops.py 文件需修改

def __array__(self):
    raise NotImplementedError(

 为

  def __array__(self):
    raise TypeError(

查看本次训练,也正是ops.py文件出现此错误。

 修改后,终于tf1.15-cpu的目标检测训练模型开始跑起来了。

 虽说设置了model_dir,不知为何训练结果要保存在

C:\Users\**\AppData\Local\Temp\tm********

文件夹。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值