paddlepaddle踩坑
1.float64
报错信息:
在使用paddlepaddle训练模型的时候,使用numpy随机生成一些数据来训练一个线程模型的时候报
ValueError: (InvalidArgument) The type of data we are trying to retrieve does not match the type of data currently contained in the container
原因分析及解决办法:
因为np.random.rand生成的数据默认是float64的数据类型,而paddlepaddle是不支持的,所以我们需要将其转换成为float32的数据类型,转换代码如下
方式一:
np.random.rand(num_samples,2).astype("float32")
方式二:
x_data = paddle.to_tensor(np.array(df_x),dtype="float32")
2.min函数和max函数
data = np.array([[1, 4, 1], [2, 4, 5]])
maximums = data.max(axis=1)
minimums = data.min(axis=0)
axis=1表示输出每行的最大值
axis=0表示输出每列的最小值
3.data[:]和data[:,]的区别
data = np.array([[1, 4, 1],
[2, 4, 5],
[3, 7, 8]])
print(data[:,1])
print(data[:2])
print(data[0:2,0:2])
print(data[:, :-1])
print(data[:, -1:])
首先全部从0开始
print(data[:,1])是获取0 1 2列,就是[4,4,7] 更多表示第几行第几列(从0开始)
print(data[:2])是获取到0 1 2行,就是[[1 4 1][2 4 5]]
print(data[0:2,0:2])是获取 0 1 2 行基础上获取** 0 1** 2 列 切片,就是[[1 4][2 4]]
print(data[:, :-1])是获取全部行,然后不要最后一列的全部数据,就是[[1, 4], [2, 4], [3, 7]]
print(data[:, -1:])是获取全部行,但是只要最后一列,就是[[1],[5],[8]]
5.sep=''
data = np.fromfile(data_file, sep=' ')必须加空格

浙公网安备 33010602011771号