gpt4 book ai didi

python - 将 4D float 组从 txt(字符串)文件转换为 numpy float 组

转载 作者:行者123 更新时间:2023-12-04 00:14:21 25 4
gpt4 key购买 nike

我有一个 txt(字符串)文件,如下所示:

[[[[0.17262284, 0.95086717, 0.01172171, 0.79262904],
[0.52454078, 0.16740103, 0.32694925, 0.78921072],
[0.77886716, 0.35550488, 0.89272706, 0.36761104]],
[[0.14336841, 0.94488079, 0.83388505, 0.02065268],
[0.31804594, 0.22056339, 0.84088501, 0.94994676],
[0.57845057, 0.12645735, 0.12628646, 0.05526736]]]]

形状是 (1,2,3,4)。如何轻松将其转换为考虑数据类型和形状的 NumPy 数组(可以从括号中推断出)?假设我在 txt 文件中有形状,它会更容易吗?我试过使用 np.loadtxt,似乎它不能处理这个 4d 形状,它作为 1D 数组加载。我可以自己解析形状,然后将所有成员转换为 float ,但我相信已经有 np 函数可以做到这一点。该文件不是我创建的 - 我只是 pkl 数组。

最佳答案

可以使用 ast.literal_eval() 函数评估(“读取”)包含数组的文本字符串,然后将其包装在 numpy 数组构造函数中,如下所示:

import ast
import numpy as np


# Option 1: From a text string.
a = np.array(ast.literal_eval(txt))

# Option 2: Directly from text file.
a = np.array(ast.literal_eval(open('np_array.txt').read()))

a.shape
>>> (1, 2, 3, 4)

设置:

txt = """[[[[0.17262284, 0.95086717, 0.01172171, 0.79262904],
[0.52454078, 0.16740103, 0.32694925, 0.78921072],
[0.77886716, 0.35550488, 0.89272706, 0.36761104]],
[[0.14336841, 0.94488079, 0.83388505, 0.02065268],
[0.31804594, 0.22056339, 0.84088501, 0.94994676],
[0.57845057, 0.12645735, 0.12628646, 0.05526736]]]]"""

关于python - 将 4D float 组从 txt(字符串)文件转换为 numpy float 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64986545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com