问题描述1:
我们知道python2.x的时候,写代码要用中文需要在头部写入#coding:utf-8,但是python不再需要的。但是有时仍然会提示以下错误: SyntaxError: Non-ASCII character ‘\xe5’ in file
解决方案:
在每个Python头部写下#coding:utf-8即可。
问题描述2:
在运行tensorflow时报以下错误:
TypeError: Input ‘value’ of ‘Assign’ Op has type float64 that does not match type float32 of argument ‘ref’
原因:
Numpy默认数据精度是float64,但是tensorflow是float32,然后tensorflow默认转换的时候会将Numpy的数据转换成float64,然后计算就出错了。
比如coord_response_mask.astype(tf.float32)这行代码
# 根据有目标的mask取出pre的box值。因为batch中设置的都是第1个格子有目标,所以这里都是第1个格子
bbox_pred_response = tf.reshape(tf.gather(bbox_pre, coord_response_mask.astype(int)), [-1, 5]) # 10,5
bbox_target_response = tf.reshape(tf.gather(bbox_true, coord_response_mask.astype(int)), [-1, 5])
target_iou = tf.reshape(bbox_target_iou[coord_response_mask.astype(tf.float32)], [-1, 5])
解决方案:
Numpy相关的变量使用.astype(‘float32’)即可解决