setting an array element with a sequence.

本文详细解析了在使用np.asarray()函数时遇到的ValueError异常:'setting an array element with a sequence.'的问题,该问题源于传入的列表中元素长度不一致。文章通过实例展示了错误的产生过程,并分享了解决方案,强调了对错误提示信息的重视,避免在深度学习模型预测中陷入feed_dict问题的误区。
--> 329             return self.predict_proba(data_X)
    330         else:
    331             return self.predict(data_X)

/home/AIPipeline/sangfor_ai-master/sangfor_ai/custom/nlp/textcnn_model.py in predict_proba(self, data_X)
    314         return 返回每个类别的概率值
    315         """
--> 316         predict_proba=self.sess.run(self.pred_proba,feed_dict={self.X:data_X,self.is_training:False})
    317         return predict_proba
    318 

~/virtualenvs/sangfor_ai/lib/python3.6/site-packages/tensorflow/python/client/session.py in run(self, fetches, feed_dict, options, run_metadata)
    875     try:
    876       result = self._run(None, fetches, feed_dict, options_ptr,
--> 877                          run_metadata_ptr)
    878       if run_metadata:
    879         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

~/virtualenvs/sangfor_ai/lib/python3.6/site-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
   1067             feed_handles[subfeed_t] = subfeed_val
   1068           else:
-> 1069             np_val = np.asarray(subfeed_val, dtype=subfeed_dtype)
   1070 
   1071           if (not is_tensor_handle_feed and

~/virtualenvs/sangfor_ai/lib/python3.6/site-packages/numpy/core/numeric.py in asarray(a, dtype, order)
    536 
    537     """
--> 538     return array(a, dtype, copy=False, order=order)
    539 
    540 

 中1071行出现的np.asarray()

np.asarray([[1, 2], [2, 3, 4]], dtype=np.float)

ValueError                                Traceback (most recent call last)
<ipython-input-19-38eed05e5a92> in <module>
----> 1 np.asarray([[1, 2], [2, 3, 4]], dtype=np.float)

~/virtualenvs/sangfor_ai/lib/python3.6/site-packages/numpy/core/numeric.py in asarray(a, dtype, order)
    536 
    537     """
--> 538     return array(a, dtype, copy=False, order=order)
    539 
    540 

ValueError: setting an array element with a sequence.
np.asarray([[1, 2], [2, 4]], dtype=np.float)
array([[1., 2.],
       [2., 4.]])

由于错误是出现在深度学习模型预测时出现的,所以一直以为是feed_dict问题

却原来是np.array造成的,错误中的sequence是代表元素长度不一样导致的。

花了很长时间一直停留在feed_dict探索上,没有快速探索到本质 ,对错误的提示仍然 不够重视导致的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值