exps = np.array(exps) ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions. The detected shape was (100, 5) + inhomogeneous part.
时间: 2023-07-24 18:19:09 浏览: 435
这个错误通常是因为你尝试将一个不规则的列表转换为 NumPy 数组。这通常发生在列表中有不同长度的子列表。例如:
```python
my_list = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
my_array = np.array(my_list)
```
会产生类似这样的错误:
```
ValueError: setting an array element with a sequence.
The requested array has an inhomogeneous shape after 1 dimensions.
The detected shape was (3,) + inhomogeneous part.
```
在这种情况下,你可以考虑使用 Pandas 库的 DataFrame 类型,它可以处理不同长度的子列表。例如:
```python
import pandas as pd
my_list = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
my_dataframe = pd.DataFrame(my_list)
my_array = my_dataframe.values
```
如果你需要进一步帮助,请提供更多的上下文和代码。
相关问题
exps = torch.from_numpy(exps).float() TypeError: expected np.ndarray (got list)
这个错误通常是因为代码中需要使用 NumPy 数组作为输入,但是输入的数据类型是列表。你可以尝试使用 `numpy.array()` 将列表转换为 NumPy 数组,例如:
```python
import numpy as np
exps = np.array(exps)
exps = torch.from_numpy(exps).float()
```
如果你需要进一步帮助,请提供更多的上下文和代码。
静宝 2023/5/11 21:41:33 if args.version is None and (v := args.conf.find("version_")) != -1: args.version = int(args.conf[v + 8:args.conf.find("/config")]) print(f"[INFO] Loaded version {args.version} from config file") if args.version is not None: logger = loggers.TensorBoardLogger(save_dir=args.exps_folder, name=expname, version=args.version) else: logger = loggers.TensorBoardLogger(save_dir=args.exps_folder, name=expname) 静宝 2023/5/11 21:41:49 if args.device_ids is None: args.device_ids = GPUtil.getAvailable(order='memory', limit=1, maxLoad=0.5, maxMemory=0.5, includeNan=False, excludeID=[], excludeUUID=[]) print("Selected GPU {} automatically".format(args.device_ids[0]))
这段代码看起来像是一个 Python 脚本中的一部分,其作用是根据命令行参数和配置文件来确定 tensorboard 日志的保存路径和版本号,并选择一个可用的 GPU 设备。其中,如果配置文件中存在 version_ 字段,则会从中解析出版本号并打印出来;如果没有指定 device_ids,则会根据 GPU 的内存和负载情况自动选择一个可用的设备。
阅读全文