相关疑难解决方法(0)

如何将 numpy 数组列表保存到单个文件中并将文件加载回原始形式

我目前正在尝试将 numpy 数组列表保存到单个文件中,此类列表的示例可以采用以下形式

import numpy as np
np_list = []
for i in range(10):
    if i % 2 == 0:
        np_list.append(np.random.randn(64))
    else:
        np_list.append(np.random.randn(32, 64))
Run Code Online (Sandbox Code Playgroud)

我可以通过迭代列表将所有这些使用合并到一个文件中savez,但还有其他方法吗?我正在尝试保存函数返回的权重model.get_weights(),这是一个列表ndarray,在从保存的文件中检索权重后,我打算使用将这些权重加载到另一个模型中model.set_weights(np_list)。因此,列表的格式必须保持不变。如果有人有一种优雅的方式来做到这一点,请告诉我。

python numpy tensorflow tf.keras

11
推荐指数
1
解决办法
2万
查看次数

这种笨拙的选择行为背后发生了什么?

通过考虑以下方法可以解决这个问题,其他一些人和我实际上是错的:

说有一个

test = [ [ [0], 1 ],
         [ [1], 1 ]
       ]
import numpy as np
nptest = np.array(test)
Run Code Online (Sandbox Code Playgroud)

背后的原因是什么?

>>> nptest[:,0]==[1]
array([False, False], dtype=bool)
Run Code Online (Sandbox Code Playgroud)

而有人

>>> nptest[0,0]==[1],nptest[1,0]==[1]
(False, True)
Run Code Online (Sandbox Code Playgroud)


要么

>>> nptest==[1]
array([[False,  True],
       [False,  True]], dtype=bool)
Run Code Online (Sandbox Code Playgroud)

要么

>>> nptest==1
array([[False,  True],
       [False,  True]], dtype=bool)
Run Code Online (Sandbox Code Playgroud)

这是因为尺寸方面的退化导致了这种情况.

python numpy numpy-broadcasting

7
推荐指数
1
解决办法
163
查看次数

标签 统计

numpy ×2

python ×2

numpy-broadcasting ×1

tensorflow ×1

tf.keras ×1