这段代码报错ValueError: Cannot load file containing pickled data when allow_pickle=False
时间: 2024-02-19 09:59:22 浏览: 266
使用@property-fanuc_focas函数库(全)(中文版)
这个错误是因为在读取数据时,numpy默认不允许加载pickle数据,而在读取数据时又设置了`allow_pickle=False`,所以无法加载数据。可以尝试将`allow_pickle`设置为True,如下所示:
```python
train_data = np.load(train_mat, allow_pickle=True)
```
如果数据集中包含了可疑数据,建议在读取时将`allow_pickle`设置为False,这会使numpy不加载pickle数据,从而更加安全。如果确实需要加载pickle数据,可以使用`pickle`模块手动加载。例如:
```python
import pickle
with open(train_mat, "rb") as f:
train_data = pickle.load(f)
```
这样就可以手动加载pickle数据了。需要注意的是,pickle数据的加载可能会导致安全问题,因此在加载pickle数据时一定要非常小心。
阅读全文