问题
运行kur dump mnist.yml
时,输出有重复的部分:training
是train
的重复部分,testing
是test
,evaluation
是evaluate
等。参见下面的示例:
{
"evaluate": {
"data": [
{
"mnist": {
"images": {
"checksum": "8d422c7b0a1c1c79245a5bcf07fe86e33eeafee792b84584aec276f5a2dbc4e6",
"path": "~/kur",
"url": "http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz"
},
"labels": {
"checksum": "f7ae60f92e00ec6debd23a6088c31dbd2371eca3ffa0defaefb259924204aec6",
"path": "~/kur",
"url": "http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz"
}
}
}
],
"destination": "mnist.results.pkl",
"hooks": [
"mnist"
],
"provider": {
"num_batches": null
},
"weights": "mnist.w"
},
"evaluation": {
"data": [
{
"mnist": {
"images": {
"checksum": "8d422c7b0a1c1c79245a5bcf07fe86e33eeafee792b84584aec276f5a2dbc4e6",
"path": "~/kur",
"url": "http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz"
...
那么,我们如何从输出中删除重复的部分呢
一种解决方案
注释掉^{} 中的部分行:
我已经通过
kur.Kurfile.parse
和kur.Kurfile._parse_section
进行了实验,到目前为止,我没有看到这样做的任何副作用使用重复的节名的目的是为了更方便用户。这样,有人就可以用
train
或training
来定义与培训相关的部分,而不是思考“嗯。。。我不记得钥匙是什么了。是“训练”还是“训练”?我想我要查一下文件。”不过,JSON转储可能会更加混乱,这是事实。另一方面,它也是一个更高级的功能。也许一种折衷办法是在转储JSON时隐藏重复的密钥,但这也可能导致其他形式的混淆(例如,“Kur为什么接受‘训练’而它甚至不是有效的密钥,也没有出现在
dump
中?”)相关问题 更多 >
编程相关推荐