paddlepaddle踩坑

ZarkY / 2023-05-24 / 原文

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])

首先全部从0开始
print(data[:,1])是获取0 1 2列,就是[4,4,7] 更多表示第几行第几列(从0开始)
print(data[:2])是获取到0 1 2行,就是[[1 4 1][2 4 5]]