dark序列引數是序列資料標準引數。問題描述:在舊版的Paddle中可以使用三種序列格式來使用序列資料,但在Fluid版中這些功能都消失了,那我現在該如何在Fluid版的Paddle中使用序列資料呢?問題分析:Fluid版是一個比較大的改進版本,從多方面考慮後,並沒有很完美的向後相容,這就造成舊版Paddle中的方法並不能再Fluid使用,在Fluid中所有的資料型別都為LoD-Tensor,對於不存在序列資訊的資料(如此處的變數X),其lod_level=0,如果是存在序列的資料則根據需求設定不同的lod_level則可。問題解決:
可以直接使用fluid.create_lod_tensor()方法來使用序列資料,該方法的主要作用就是從numpy陣列,表或現有的lod張量建立lod張量。例項如下:
更多細節可以參考LoDTensor文件:http://www.paddlepaddle.org/documentation/docs/zh/1.1/user_guides/howto/prepare_data/lod_tensor.html#
透過一下幾步實現:
1.檢查length-based level of detail (LoD,長度為基準的細節層次),或稱recursive_sequence_lengths(遞迴序列長度)的正確性2.將recursive_sequence_lengths轉化為offset-based LoD(偏移量為基準的LoD)3.把提供的numpy陣列,列表或者已經存在的lod tensor複製到CPU或GPU中(依據執行場所確定)4.利用offset-based LoD來設定LoD。
dark序列引數是序列資料標準引數。問題描述:在舊版的Paddle中可以使用三種序列格式來使用序列資料,但在Fluid版中這些功能都消失了,那我現在該如何在Fluid版的Paddle中使用序列資料呢?問題分析:Fluid版是一個比較大的改進版本,從多方面考慮後,並沒有很完美的向後相容,這就造成舊版Paddle中的方法並不能再Fluid使用,在Fluid中所有的資料型別都為LoD-Tensor,對於不存在序列資訊的資料(如此處的變數X),其lod_level=0,如果是存在序列的資料則根據需求設定不同的lod_level則可。問題解決:
可以直接使用fluid.create_lod_tensor()方法來使用序列資料,該方法的主要作用就是從numpy陣列,表或現有的lod張量建立lod張量。例項如下:
更多細節可以參考LoDTensor文件:http://www.paddlepaddle.org/documentation/docs/zh/1.1/user_guides/howto/prepare_data/lod_tensor.html#
問題拓展:create_lod_tensor函式從一個numpy陣列,列表或者已經存在的lod tensor中建立一個lod tensor。透過一下幾步實現:
1.檢查length-based level of detail (LoD,長度為基準的細節層次),或稱recursive_sequence_lengths(遞迴序列長度)的正確性2.將recursive_sequence_lengths轉化為offset-based LoD(偏移量為基準的LoD)3.把提供的numpy陣列,列表或者已經存在的lod tensor複製到CPU或GPU中(依據執行場所確定)4.利用offset-based LoD來設定LoD。