You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In English:
tensorlayer2.2.5
function _load_weights_from_hdf5_group_in_order() have errors in:
layer_names = [n.decode('utf8') for n in f.attrs["layer_names"]].
Need to be modified to:
layer_names = [n if isinstance(n, str) else n.decode('utf8') for n in f.attrs["layer_names"]].
in line 2605 and 2617.
In Chinese:
tensorlayer2.2.5源码错误:
tl.files.load_hdf5_to_weights_in_order()
这个库的读取模型的代码编写有误,就是上面这个函数,他会报错说:AttributeError: 'str' object has no attribute 'decode'
我们可以点进去上面这个函数去看看,注意不要点错了,这个函数里面还调用了一个函数:_load_weights_from_hdf5_group_in_order
就是这个内部调用的函数写的有问题。
我们可以看看他这个不带_前缀的函数,代码是怎么写的:
layer_names = [n if isinstance(n, str) else n.decode('utf8') for n in f.attrs["layer_names"]]
他n.decode('utf8')前先做了个判断,而带_前缀的函数里面点进去看看,它是这么写的:
layer_names = [n.decode('utf8') for n in f.attrs["layer_names"]]
这就是错误所在,把这个带_前缀的函数里所有的 n.decode('utf8') 替换成 n if isinstance(n, str) else n.decode('utf8') 即可
应该是两处需要改,即:2605行 2617行
The text was updated successfully, but these errors were encountered:
In English:
tensorlayer2.2.5
function _load_weights_from_hdf5_group_in_order() have errors in:
layer_names = [n.decode('utf8') for n in f.attrs["layer_names"]].
Need to be modified to:
layer_names = [n if isinstance(n, str) else n.decode('utf8') for n in f.attrs["layer_names"]].
in line 2605 and 2617.
In Chinese:
tensorlayer2.2.5源码错误:
tl.files.load_hdf5_to_weights_in_order()
这个库的读取模型的代码编写有误,就是上面这个函数,他会报错说:AttributeError: 'str' object has no attribute 'decode'
我们可以点进去上面这个函数去看看,注意不要点错了,这个函数里面还调用了一个函数:_load_weights_from_hdf5_group_in_order
就是这个内部调用的函数写的有问题。
我们可以看看他这个不带_前缀的函数,代码是怎么写的:
layer_names = [n if isinstance(n, str) else n.decode('utf8') for n in f.attrs["layer_names"]]
他n.decode('utf8')前先做了个判断,而带_前缀的函数里面点进去看看,它是这么写的:
layer_names = [n.decode('utf8') for n in f.attrs["layer_names"]]
这就是错误所在,把这个带_前缀的函数里所有的 n.decode('utf8') 替换成 n if isinstance(n, str) else n.decode('utf8') 即可
应该是两处需要改,即:2605行 2617行
The text was updated successfully, but these errors were encountered: