Keras model.to_json()错误:'rawunicodeescape'编解码器无法解码位置94-98中的字节:截断\ uXXXX

use*_*212 6 python unicode keras

model.to_json()
Run Code Online (Sandbox Code Playgroud)

对于模型

____________________________________________________________________________________________________图层(类型)输出形状参数#
连接到
======================================= ================================================== =========== lambda_1(Lambda)(无,
3,160,320 )0 lambda_input_1 [0] [0]
____________________________________________________________________________________________________ convolution2d_1(Convolution2D)(无,1,40,16)327696
lambda_1 [0 ] [0]
____________________________________________________________________________________________________ elu_1(ELU)(无,1,40,16)0
convolution2d_1 [0] [0]
____________________________________________________________________________________________________ convolution2d_2(Convolution2D)(无,
1,20,32 )12832 elu_1 [0] [0]
____________________________________________________________________________________________________ elu_2(ELU)(无,1,20,32)0
卷积2d_2 [0] [0] ____________________________________________________________________________________________________卷积2d_3(卷积2D
)(无,
1,10,64 )51264 elu_2 [0] [0]
____________________________________________________________________________________________________ flatten_1(展平)(无,640)0
convolution2d_3 [0] [0]
____________________________________________________________________________________________________ dropout_1(辍学)(无,640)0
flatten_1 [0] [0]
____________________________________________________________________________________________________ elu_3(ELU)(无,640)0
dropout_1 [0] [0]
____________________________________________________________________________________________________ dense_1(密集)(无,512)328192
elu_3 [0] [0]
____________________________________________________________________________________________________ dropout_2(辍学)(无,512)0 ____________________________________________________________________________________________________ elu_4( ELU)(无,512)0 dropout_2 [0] [0]
dense_1 [0] [0]


____________________________________________________________________________________________________ dense_2(密集)(无,1)513
elu_4 [0] [0]
================================ ================================================== ==================总参数:720,497可训练参数:720,497非训练参数:0 ____________________________________________________________________________________________________无

抛出异常

'rawunicodeescape'编解码器无法解码位置94-98中的字节:截断\ uXXXX

可能是什么问题,我该如何解决?

Edu*_*sov 18

看起来你的代码在这样的目录中:"C:\ Users\python\u {...}.py".这种错误与python 3版本有关,我们得到特殊字符\ u并且无法在Windows机器上解码它.您可以将文件名或完整路径更改为文件,以便它不包含特殊字符或从文件中生成"func_dump"函数的补丁generic_utils.py(可以通过以下路径'keras/utils/generic_utils.py'访问它).此时应更换线code = marshal.dumps(func.__code__).decode('raw_unicode_escape')的线code = marshal.dumps(func.__code__).replace(b'\\',b'/').decode('raw_unicode_escape').


dav*_*wad 4

当使用带有tensorflow-gpu后端的keras 1.2.1时,我遇到了类似的问题.

我发现它是由于Windows 10周年纪念版编码正斜杠字符时出现的.

使用Lambda层会使to_json()调用失败,但切换到批处理规范化可以正常工作.

model = Sequential()

# model.add(Lambda(lambda x: x / 255. - .5, input_shape=INPUT_DIMENSIONS))
model.add(BatchNormalization(input_shape=INPUT_DIMENSIONS, axis=1))
. . . 
# POST PROCESSING, SAVE MODEL TO DISK
with open('model.json', 'w') as json_file:
    json_file.write(model.to_json())
Run Code Online (Sandbox Code Playgroud)

不是一个理想的解决方案,但希望它适用于将来看待这个的人.