File "D:\403\myworld\csv2Pic.py", line 34, in data2Pic outMatrix = np.zeros(height, length) TypeError: Cannot interpret '1000' as a data type
时间: 2024-03-28 20:38:28 浏览: 15
这个错误是因为在创建`outMatrix`的时候,参数的顺序不正确。`np.zeros()`的第一个参数应该是一个表示形状的元组,而不是两个分开的参数。请将`np.zeros(height, length)`改为`np.zeros((height, length))`。这将创建一个`height`行、`length`列的全 0 矩阵。
相关问题
Traceback (most recent call last): File "D:\LSTM\LSTM-word.py", line 94, in <module> train_sentences = pad_input(train_sentences, 200) File "D:\LSTM\LSTM-word.py", line 87, in pad_input features = np.zeros((len(sentences), seq_len),dtype=int) numpy.core._exceptions._ArrayMemoryError: Unable to allocate 610. MiB for an array with shape (800000, 200) and data type int32
这个错误提示是因为你的代码试图在内存中创建一个大小为 800000x200 的整数数组,但是你的计算机没有足够的内存来存储这个数组。
为了解决这个问题,你可以考虑以下几种方法:
1. 减少你的训练数据量。如果你的训练数据太大,可以考虑只使用其中一部分来训练模型。
2. 减少你的序列长度。如果你的序列长度太长,可以考虑减少序列长度,以降低内存消耗。
3. 使用更高效的数据类型。你可以使用更紧凑的数据类型,例如 int16 或者 float16,来减少内存消耗。
4. 使用更大的内存。如果你的计算机内存不足,你可以考虑使用更大的内存或者在云计算平台上进行训练。
np.zeros(2, dtype=np.float)
以下是np.zeros(2, dtype=np.float)的介绍和演示:
np.zeros(2, dtype=np.float)将生成一个包含两个元素的一维数组,且各元素为float类型,且值均为0。
```python
import numpy as np
array = np.zeros(2, dtype=np.float)
print(array, array.shape, array.dtype) # 输出:[0. 0.] (2,) float64
```