首页 热点资讯 义务教育 高等教育 出国留学 考研考公

paddlepaddle如何读取本地数据?

发布网友 发布时间:2022-04-23 08:07

我来回答

2个回答

热心网友 时间:2022-06-18 03:36

paddlepaddle有四种数据类型和三种序列格式。四种数据类型分别是:dense_vector,sparse_binary_vector,sparse_float_vector和integer。三种序列格式分别是SequenceType.NO_SEQUENCE,SequenceType.SEQUENCE,SequenceType.SUB_SEQUENCE。详细的介绍可参考paddlepaddle官网说明。

举个简单的例子:

如果你的数据是 x = [1.0, 2.0, 3.0, 4.0, 5.0],那么就应该使用dense_vector,维度为输入数据的维度,这里是5,代码如下:

x = paddle.layer.data(name='x', type=paddle.data_type.dense_vector(5))

如果你的数据是 x = [[1.0, 2.0, 3.0], [2.0, 3.0, 4.0], [3.0, 4.0, 5.0], [3.0, 5.0, 6.0]],那么这个数据有4个时间步长,每个步长维度为3,代码如下:

x = paddle.layer.data(name='x', type=paddle.data_type.dense_vector_sequence(3))

同样的其他类似。

另外,你提到reader,你可能更想知道的是如何构造reader。paddle的reader是一个生成器,返回的是一个函数。

def train_reader(train_x, train_y):
    def reader():        
        for i in xrange(train_y.shape[0]):
            yield train_x[i], train_y[i]
    return reader

定义好reader后,现在我们生成我们需要的训练数据

data = np.array([[1, 1], [1, 2], [3, 4], [5, 2]])
label = np.array([[-2], [-3], [-7], [-7]])
train_reader = paddle.batch(
    paddle.reader.shuffle(
        train_reader(data, label), buf_size=100),
    batch_size=50)

如此就可以使用train_reader进行模型训练了,test_reader的构造方式一样。

热心网友 时间:2022-06-18 03:37

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com