安装了 TF 1.0.0rc1 之后好景不长,原来写的代码本来好好的,运行时突然爆了个莫名其妙的错误:
根据报错,问题应该出在
r4 = tf.concat(1, [r4_up, r4_down])
这行代码。
机智的我翻了下官方 API 文档,仔细对比了下新旧版本的区别,终于发现端倪
发现 1.0 的 tf.concat() 函数参数顺序与 0.12 中的 tf.concat() 不同(心里跑过万千羊驼)!
按照 1.0 API 的顺序,手动修改了包含 tf.concat() 的若干行代码。这次再运行,发现 tf.split() 这个函数也有坑!
还得查 API 手册。。。
发现 tf.split() 函数的参数顺序,在 1.0 中颠倒了,晕!
例如我这行代码:
4_up, c4_down = tf.split(3, 2, c4)
在 1.0 中需要改为:
4_up, c4_down = tf.split(c4, 2, 3)
再次手动修改。之后运行正常了。
【猛回头】
翻了下 TensorFlow 1.0.0-rc1 的 Release 信息,tf.concat() 和 tf.split() 赫然写在
Breaking Changes to the API
后面……
看来,入坑之前,还是要慎重地看一看官方做了哪些修改,不然被坑后想退回旧版本就晚了