Paddle Release Note
Paddle Release Note
重要更新
飛槳paddle框架2.0.0版本有如下重要更新:
? 編程范式:默認開啟動態圖模式進行模型開發和訓練,通過動轉靜的方式進行模型部署和訓練加速。如果需要使用靜態圖編程范式,可以通過paddle.enable_static()來切換到靜態圖模式。
? API體系:對API進行了補充,對目錄結構進行了調整,使得更加易用,詳情請見:API文檔,同時,提供高層API簡化使用流程;詳情請見:飛槳paddle高層API使用指南。
? 框架功能:對數據加載、動態圖執行,OP性能,混合精度訓練,分布式訓練,動靜轉換,等進行了功能增強和性能優化。
? 環境適配: 提供了對ARM架構CPU的支持,增加了對Python 3.8、CUDA 10.1/10.2的支持,發布支持CUDA11的安裝包(experimental),發布支持百度昆侖芯片的安裝包(experimental),詳情請見:開始使用。
? 模型庫及開發套件:飛槳paddle的官方模型庫和套件已經完成絕大部分模型升級至飛槳paddle框架2.0.0版本。
o PaddleHub:支持2.0動態圖,全面遷移動態圖編程模式,模型開發調試更加方便,finetune接口更加靈活易用。
o PaddleDetection: 支持2.0動態圖,覆蓋檢測方向主流算法(PP-YOLO、Faster-RCNN、SOLOv2),支持動靜轉換,打通預測部署,提供了更加模塊化的組網方式。
o PaddleClas: 支持2.0動態圖,提供了29個系列的分類算法和134個預訓練模型,提供了基于SSLD知識蒸餾的優化方案,將分類模型的精度普遍提升3%以上。
o PaddleSeg: 支持2.0動態圖,提供了50+的高質量預訓練模型,支持15+主流分割網絡,提供了業界的SOTA模型OCRNet,很好的提升了產品易用性。
o PaddleOCR: 支持2.0動態圖,PPOCR系統、文字檢測模型(DB,EAST,SAST)與文字識別模型(Rosetta,CRNN,StarNet)完成2.0動態圖適配。
o PaddleGAN:支持2.0動態圖,所有模型,包括風格遷移、視頻增強、唇形遷移、人臉動漫化等九種模型均基于動態圖開發。
o PaddleRec:支持2.0動態圖,免安裝,動靜組網統一,方便用戶的調研和上線,同時整理發布了推薦系統經典數據集。
o PaddleNLP:支持2.0動態圖,提供25+預訓練模型和易用的API方式提升文本建模效率。
o Parakeet:支持2.0動態圖,已發布的聲學模型及聲碼器均良好支持動態圖版本。
o PaddleVideo:支持2.0動態圖,包含了視頻分類和視頻動作定位方向模型,包括: TSN、TSM、SlowFast、AttentionLSTM、BMN模型以及特色應用預訓練模型VideoTag和FootballAction。
o AmazonDJL:易用流暢的 Java 推理接口,支持各操作系統平臺(Mac / Windows / Linux),支持 Paddle 預訓練模型讀取。
前瞻性預告
? 飛槳paddle框架計劃在未來的某個版本起,放棄對python2和python3.5的支持,建議您升級python到3.8版本來使用飛槳paddle。
? 飛槳paddle框架計劃在未來的某個版本起,放棄對CUDA9的支持,建議您升級CUDA版本來使用飛槳paddle。
訓練框架
兼容性說明
? 編程范式:飛槳paddle2.0.0默認開啟了命令式編程范式(動態圖),但仍然保留對靜態圖的支持,靜態圖代碼(包括1.8版本的靜態圖代碼),可以通過添加paddle.enable_static()后來運行。
? API:飛槳paddle框架2.0.0版本推薦用戶使用位于paddle根目錄下的API,同時在paddle.fluid目錄下保留了所有的1.x版本的API,保留對之前版本API體系的支持。因此,1.x版本的靜態圖訓練代碼,添加paddle.enable_static()即可在2.0.0版本上正常運行;1.x版本訓練保存的模型,可以使用2.0.0版本進行推理。
? 整理了1.8版本API到2.0版本API的對應關系表。
? 提供了遷移工具,來方便您將基于舊版本的代碼遷移為2.0.0版本的代碼,詳情請見:版本遷移工具。
動態圖模式
默認開啟動態圖模式進行模型開發和訓練,通過動轉靜的方式進行模型部署和訓練加速。詳情,請參看:動態圖,動態圖轉靜態圖。
API體系
? 基礎API
o API目錄結構調整,1.x 版本的API主要位于paddle.fluid目錄,本版本對API目錄結構進行調整,使得分類更為合理,具體調整后的目錄說明請參見API文檔。
o 新增API共186個,修復和完善API共260個:詳情請參考2.0.0 pre release版本的release notes,以及API文檔。
o 新增分布式基礎通信類API到paddle.distributed: broadcast, all_reduce, reduce, all_gather, scatter, barrier;動態圖多卡訓練啟動API spawn, init_parallel_env,動靜統一啟動方式fleetrun
o 組網類API實現動靜統一,支持在動態圖模式和靜態圖模式兩種模式下運行。
? 高層API
o 新增飛槳paddle高層API,對模型開發過程中常見的組網、訓練、評估、預測、存取等操作進行封裝,實現低代碼開發,請參見飛槳paddle高層API使用指南。
o 新增分布式高層API paddle.distributed.fleet,支持通過配置DistributedStrategy來支持多種優化策略組合和自動并行、分布式指標計算、InMemoryDataset
功能優化(含分布式)
動態圖基礎功能
? 易用性優化:
o Tensor功能增強:新增Tensor拷貝接口Tensor.clone(),及120余個Tensor計算操作接口(如Tensor.cos()等);新增使用索引或切片原地修改Tensor的功能;新增Tensor與Scalar運算時自動類型提升的功能;動態圖Tensor打印信息優化,展示形式與Numpy保持相同。
o Layer功能增強:新增Layer深拷貝接口Layer.deepcopy();新增Layer屬性和函數查看接口Layer.dir();自本版本起,Layer.eval()調用后,Trace功能仍會自動記錄反向操作,如不需要記錄反向,需要顯式調用paddle.no_grad()。
o Optimizer新增set_lr()接口,可在動態圖模式下靈活調整學習率。
o 新增set_global_initializer()接口,可定義全局的參數初始化方法。
o 多卡運行代碼簡化,不需要再顯式調用scale_loss和apply_collective_grads。
? 性能優化:
o 多卡訓練時Embedding等API支持使用稀疏參數梯度更新的功能。
o 動態圖訓練和推理新增對Intel加速庫oneDNN(原MKL-DNN)的支持,CPU訓練場景Resnet50模型可提速6倍。
o 新增動態圖Inplace計算功能,可復用Tensor存儲空間,減小顯存占用,并新增View方法,可以在共享底層存儲的情況下改變Tensor描述。
o 【不兼容升級】新增動態圖梯度累加功能,起到變相“擴大BatchSize”的作用,backward()接口默認不清空梯度,需要顯式調用optimizer.clear_grad()來清空梯度。
? Bug修復:
o 修復了多個模型在train/eval切換時會互相干擾的問題。
動態圖轉靜態圖
? 動靜轉換新增語法支持
o 新增return語法支持,可以在if-elif-else或者循環條件中提前return,并能夠return不同類型的tensor或None。
o 新增對函數signature中含有kwargs參數的支持。
o 新增for、for enumerate遍歷Tensor和TensorList的語法支持,遍歷Tensor的操作更加靈活。
o 新增更多python語法支持,如print,assert,cast,isinstance,tuple,dict.pop()等。
? 動靜轉換易用性優化
o 動轉靜的返回類型從callable函數改為Class,可以調用Class的code,main_program等接口更輕松獲取轉化后的靜態圖信息。
o 動轉靜裝飾器to_static新增支持直接裝飾model實例,如to_static(model, input_spec) 。
o 新增jit.not_to_static裝飾器,可以在動轉靜過程中,不轉化該函數。
o 增加set_verbosity()和set_code_level()接口,可以設置不同級別來查看動轉靜過程的log或者中間狀態的代碼。
o 新增InputSpec,可以指定動轉靜時輸入Tensor變量的形狀和數據類型。
o 報錯信息優化,可以定位到原動態圖錯誤的代碼行,并隱藏與用戶無關的報錯信息。
o 支持用 pdb.set_trace() 進行斷點調試。
? 優化部署模型存儲載入接口
o 新增paddle.jit.save接口用于動轉靜模型的保存,該接口同時兼容存儲未經paddle.jit.to_static轉寫的Layer對象以及paddle.DataParallel模型,刪除舊接口ProgramTranslator.save_inference_model。
o 新增 paddle.jit.load 接口用于載入靜態圖格式存儲的預測模型,包括paddle.jit.save和paddle.io.save_inference_model保存的模型,模型載入后可在動態圖下用于模型推理或者模型訓練調優。
o paddle.jit.TransLatedLayer新增program方法,用于獲取paddle.jit.load載入模型的program,便于了解模型結構。
o 【不兼容升級】paddle.jit.save, paddle.jit.load接口參數model_path含義變更,改為存儲文件前綴而非目錄。
混合精度訓練
? 混合精度策略升級:黑白名單策略(下簡稱“O1策略”)之外,新增“Almost FP16(下簡稱O2策略)”支持,即盡可能多使用FP16進行計算。
o 新增FP16 Guard功能(paddle.static.amp.fp16_guard),支持用戶自由控制模型中單個Op是否選用FP16計算類型。
o 用戶可自定義custom_black_list,以控制某一類Op保持FP32計算。
o 使用O2策略,Resnet50和Bert base在V100單卡訓練速度分別可達1400images/s和590sequences/s。
? 易用性優化:
o 使用paddle.static.amp包統一管理與靜態圖混合精度訓練相關的接口。
o 為AutoMixedPrecisionLists提供簡化名稱CustomOpLists,即用戶可使用CustomOpLists自定義AMP黑白名單Op列表。
分布式訓練優化
? 集合通信All Reduce
o 支持千億語言模型混合并行訓練:支持基于executor接口的流水線并行訓練,sharding-DP策略,GradientMerge+AMP策略,Recompute+Offload策略,megatron策略
o 支持動態圖:支持多流通信策略,自動rebuild group策略,高性能稀疏參數通信,多卡梯度順序一致性策略
? 參數服務器PS
o 大規模稀疏功能升級:升級大規模稀疏PS-API,抽象通信組件/參數表/優化器基類,方便用戶通過子類派生方式進行二次開發;同時還支持千億特征流式訓練,含特征準入,退場,增量訓練,分布式指標預測等;通信方式從GRPC切換成了BRPC
o 開源異構參數服務器,既支持傳統的純CPU機器PS,也支持基于三級存儲(SSD/內存/顯存)的純GPU機器PS,還支持CPU機器+GPU機器/昆侖機器混布PS,可以完成萬億參數點擊率預估模型的分鐘級訓練
? 新訓練機制支持:
o 支持基于控制流的多任務分布式訓練,性能較基于Intag的多任務提升50%以上
? 分布式啟動方式優化
o 支持使用paddle.distibuted.spawn接口啟動all_gather等分布式低階API;
o paddle.distributed.launch接口升級,支持指定單節點的進程數,并可簡化為fleetrun;
o 優化gen_nccl_id,去除grpc依賴,添加一定的容錯性,提升分布式任務啟動的穩定性;
o 支持Gloo方式啟動集合通信多CPU
模型保存與載入
? 規范Layer、Optimzier等API的set_dict方法名,統一改為set_state_dict。
? paddle.load兼容性增強:支持從fluid.io.save_inference_model和fluid.io.save_params/persistables等接口的存儲結果中載入Layer的state_dict。
? 修改paddle.save/load接口行為,paddle.save不再為存儲結果添加后綴,paddle.load每次載入僅返回一個結果,規范接口語義。
? 移除paddle.SaveLoadConfig,對于paddle.jit.save, paddle.jit.load, paddle.load等接口兼容載入的場景,使用kwargs傳入額外的配置,簡化接口的使用。
? 原靜態圖API paddle.io.save, paddle.io.load, paddle.io.save_inference_model, paddle.io.load_inference_model移動到paddle.static模塊下。
? 優化paddle.static.load_program_state接口使用體驗,在不指定載入var_list的使用場景中,載入目錄存在干擾文件時僅警告而不報錯。
復數計算
? 擴展動靜態圖執行引擎,支持復數神經網絡訓練與復數梯度累加。
? 新增mul, div, matmul, kron, abs等Op對復數計算支持。
ONNX功能升級
? 新增API: paddle.onnx.export支持paddle2.0動態圖轉換到ONNX協議
? 新增PPOCR,PPYOLO,FasterRCNN,ERNIE等模型轉換
? 更豐富的Paddle op覆蓋,支持88個Paddle OP算子,同時支持導出為ONNX 1~12不同版本的算子集
性能優化(含分布式)
? 動態圖性能優化:
o 數據讀取性能優化:簡化動態圖模式下DataLoader底層實現邏輯,降低讀取線程開銷,進一步提升數據讀取效率,提升模型整體訓練速度。MobileNetV1在V100單卡、BatchSize=128的場景下整體訓練速度提升34%。
o 動態圖組網API升級和性能優化,大量動態圖API將直接調用自動生成的Pybind接口,性能顯著提升。
o 提高了Resnet50 oneDNN動態圖訓練的性能。目前CPU場景Resnet50 oneDNN 動態圖訓練速度提升6.4 倍。
? OP性能優化:
o argsort:優化輸入Tensor的元素個數等于其axis維長度時的性能,前向速度提升34倍,反向速度提升10倍。
o dropout:優化GPU性能,FP32性能提升約20%,FP16性能提升約50%。
o cast:優化GPU性能,性能提升10%~20%。
o softmax:優化axis=-1的情況下的GPU性能,針對不同shape有3倍~96倍的提升。
o 其他OP性能優化:cumsum,reshape,Flatten,IndexSelect,Roll,elementwise_add,AdamW及RNN類(LSTM,GRU,SimpleRNN)等OP,均有明顯性能提升。
? 策略優化:
o 新增fused_bn_add_act融合策略,可以自動對batch_norm+elementwise_add+activation的組合模式進行自動融合加速。
o 新增梯度聚合的inplace addto策略,支持原位梯度累加,在ResNet-50混合精度訓練中性能提升6.3%。
? 優化FastThreadedSSAGraphExecutor調度,修復通信同步場景下,通信計算不重疊的情況,4機32卡resnet50提升約0.3%。
? 分布式性能優化:
o 優化lars策略, ResNet50 分布式多卡訓練 16k batch size 的 time2train 指標小于 10 分鐘。
o 優化paddle.fleet amp分布式性能,修復最后一個通信和計算不重疊的情況,fp16 4機32卡性能提升約0.5%。
o 優化paddle.fleet.gradient_merge分布式性能,先聚合梯度再通信,多機性能可提升20%-40%,達到線性加速比。
o 優化參數服務器通信組件Communicator性能。GEO-400batch通信一次的情況下,W2V模型吞吐率、Simnet-Bow模型性能均有顯著提升。Async模式下,相較于飛槳paddle框架1.8按本,W2V模型吞吐率提升11%,CTR-DNN模型性能提升14% 。
調試分析
? 將框架內僅100處使用LOG(FATAL)拋出異常的寫法統一改為使用PADDLE_THROW,優化由于框架不支持某種行為而導致的報錯格式與內容。
? 完善框架內Signal Handler實現,優化執行遇到系統Signal錯誤時的報錯格式與內容。
? 優化框架報錯棧格式,將編譯時python報錯棧移至原生報錯棧下方,提升報錯信息閱讀體驗。
? 累計進一步完善約1500余條框架內檢查報錯的錯誤類型與提示文案,提升框架整體調試易用性。
? 動態圖報錯信息增強,動態圖下Pybind層的報錯信息進行系統性增強,提升用戶體驗。
? 優化Paddle Python端報錯異常類型,與Python原生報錯類型對齊。
? 默認隱藏C++報錯棧,優化隱藏C++棧之后的報錯格式,去掉分界標志Error Message Summary,與Python原生報錯格式對齊。
? 優化部分static模塊下API在非靜態圖模式下使用報錯提示,包括static.append_backward, static.gradients, static.scope_guard, static.Print, static.nn.embedding, static.nn.data_norm, static.nn.multi_box_head, static.nn.nce, static.nn.py_func共9個API。
? 優化了動態圖模型下傳入Tensor為None時的報錯信息。
? 優化了Layer的打印信息,支持打印Layer中的各個層次結構關系。
推理部署
模型量化
? 動態圖訓練時量化功能增強,新增ImperativeQuantAware類統一管理動態圖量化功能。目前支持對Conv2D、Linear等帶權重層的量化,并支持對權重進行分channel求取量化參數,同時也支持無權重層如ReLU,Tanh的量化,以及skip指定Layer量化的功能。
? 新增動態圖量化訓練過程中對模型layer求取output scale參數功能,供Server端量化推理部署使用
? 動態圖量化模型支持使用Paddle-Lite進行預測部署。
? 離線量化功能支持提前融合conv+bn,及產出LSTM量化模型的功能,移除保存采樣數據到臨時文件的功能。
? 靜態圖量化支持Conv2d_tranpose量化,支持Linear使用per-channel形式量化。
Paddle Inference
預測庫默認命名從fluid_inference改為paddle_inference。
API
? 全面升級推理C++ API,推薦使用新版API。原API暫時保留,但使用時會報 warning,計劃未來會刪除;新版API主要是從規范命名、簡化使用方法角度做的升級,重要變化包括:
o C++ 接口新增 paddle_infer 命名空間,包含推理相關接口;
o ZeroCopyTensor 更名為 Tensor,作為推理接口默認輸入輸出表示方式;
o 簡化 CreatePaddlePredictor 為 CreatePredictor,只保留 對AnalysisConfig 的支持,不再支持其他多種Config;
o 新增服務相關的工具類,比如 PredictorPool,便于創建多個predictor 時使用。
功能升級
? 算子版本信息相關
o Paddle 在 2.0 中新增或升級了部分算子。從本版本起,對前向算子版本進行定義與兼容約束。通過框架間算子版本的對齊,確保不同框架中同一算子版本的定義和行為一致,從而增強框架整體的健壯性。
o 增加推理前向算子版本的注冊機制,并將算子的不兼容升級行為納入統計。
o 增加預測模型的算子版本信息。預測庫通過模型文件,將可以對此模型對應的算子定義進行識別,避免定義不同導致計算錯誤。
? 模型接口
o load_inference_model 和 save_inference_model 兩個API遷移到 paddle.static 下,兼容舊接口,提升易用性。
o 新增 serialize_program, deserialize_program, serialize_persistables, deserialize_persistables, save_to_file, load_from_file 六個API,用來滿足用戶執行序列化/反序列化 program,序列化/反序列化 params,以及將模型/參數保存到文件,或從文件中加載模型/參數的需求。
? NV GPU 推理相關
o 新增對TRT 7.1版本的適配支持。
o 新增對Jetson Nx硬件的適配支持。
o Paddle-TensorRT增強對 PaddleSlim 量化模型的支持,涵蓋CV上檢測,分類,分割等多個任務。
o Paddle-TRT支持clip op,支持分類模型GhostNet在Paddle-TRT下運行。
o Paddle-TRT 支持含有channelwise量化的mul op的模型,支持PaddleOCR檢測和識別量化模型在Paddle-TRT int8下運行。
o Paddle-TRT 動態shape功能支持PaddleSlim量化Int8模型。
? X86 CPU 推理相關
o 添加了對oneDNN BF16的支持:支持conv2d 和gru bf16 計算,目前支持resnet50,googlenet,mobilenetv1和mobilenetv2模型的BF16預測。
o 在oneDNN INT8量化策略中增加對有偏移scales的量化和反量化的支持。
o 添加了一些oneDNN 算子的版本兼容性支持。
o CPU端增加了elementwise_add 和elementwise_mul INT8 oneDNN 內核支持。
o 提升CPU端測試量化模型的易用性,支持同時對比測試原始模型和量化模型。
? 自定義OP
o Python端推理新增對用戶自定義OP支持。
? 內存 /顯存相關
? 新增TryShrinkMemory接口,通過釋放臨時tensor的方式減少應用顯/內存占用,demo示例可參考Paddle-Inference-Demo。
? 動態圖量化模型支持
o X86 推理支持動態圖量化模型。
o NVIDIA GPU 推理支持動態圖量化模型。
? 報錯信息
o 編譯打開ON_INFER時,FLAGS_call_stack_level默認為打開,報錯信息顯示調用棧。
性能優化
? 升級了量化模型的轉換和優化
? NV GPU 相關
o 優化了CUDA 的ArgMin, ArgMax OP,使得該OP的二進制大小從60M下降至1.3M。
o ERNIE模型在T4上使用Paddle-TRT FP16推理性能提升15%。
o ERNIE模型在開啟TenorRT時增加變長輸入的支持,帶來性能提升147%。在軟件版本cuda10.1、cudnn 7.6、tensorrt 6.0、OSS 7.2.1,模型ernie-base-2.0,數據集QNLI,輸入BatchSize = 32時,Nvidia Telsa T4上的性能從905 sentences/s提升到2237 sentences/s。示例代碼:Paddle-Inference-Demo/c++。
? X86 CPU相關
o 新增 conv + affine_op pass,在6248機器上,MASK-RCNN fp32單線程性能提高了26%。
o 新增fc + gru pass和oneDNN(原MKL-DNN) GRU fp32內核,使得GRU fp32模型4線程推斷速度在機器Intel Xeon 6248上提高 20%。
o 通過支持oneDNN INT8 GRU,GRU INT8模型的速度與NativeConfig推理相比,提高了約1.65倍(線程= 1,batch_size = 50)。
o 添加了oneDNN batchnorm + activation的fuse支持,pvanet_ocr模型性能因此提高了2.8%。
o 增加了oneDNN FC + Gelu,FC + Sigmoid 和 FC + tanh 算子融合,將BERT推理模型提高了4.5%。
o 增加了對部分Op的oneDNN inplace支持。
o 優化的oneDNN LRN op,使得GoogleNet fp32模型提速1%。
o 通過oneDNN升級到1.6,Ernie Large oneDNN在Skylake上(Intel Core 6148)推理的速度提高了約2.7倍(即單元測試 test_analyzer_ernie_large)。
o 增加了插值interpolate oneDNN前向算子支持,目前ocr_det模型推理性能相比單純CPU Native推理提高了2.04倍。
Paddle Lite
端側推理引擎Paddle Lite v2.8適配主框架v2.0
環境適配
編譯安裝
訓練框架Paddle
? 發布支持使用x86 CPU及飛騰CPU下使用昆侖芯片的安裝包。
? 新增安裝包對python3.8的支持。
? 新增安裝包對cuda10.1、cuda10.2的支持。
? (experimental)發布支持cuda11的安裝包。
? 將cuda10.1及以上的Paddle鏡像以及CI系統鏡像中的NCCL版本到2.7.8。
? 升級oneDNN(原MKL-DNN)從1.3至1.5版本。
? 鏡像中新增預裝openssl-dev依賴。
? 刪除安裝依賴包:nltk、opencv、scipy、rarfile、prettytable、pathlib、matplotlib、graphviz、objgraph。
? Paddle的avx與no_avx單獨發版,whl包減小40%,默認安裝avx版本,優化了安裝報錯信息,會檢查用戶的CPU類型與Paddle版本,自動給出對應的安裝報錯提示。
? Paddle develop版本pypi安裝用戶體驗提升,縮減用戶安裝路徑,用pip –pre方式即可進行安裝。
推理引擎Paddle Inference
? 預測庫支持cuda10.2-cudnn8-trt7.1的版本。
? 發布支持jetpack的安裝包,以及支持nv_jetson的C++預測庫。
? 新增發布聯編tensorrt的兩個wheel包,cuda10.0-cudnn7.6-trt6.0.1.5-python36、cuda10.0-cudnn7.6-trt6.0.1.5-python36。
? 修復聯編策略,單獨發布包含tensorrt的gpu包,避免用戶在安裝其他GPU版本的包出現沒有tensorrt的報錯。
? 修復預測庫打包有重復的問題。
新硬件訓練支持
? 昆侖芯片:支持單卡訓練,靜態圖多卡訓練,并發布10+模型。
? 昇騰910芯片:支持單卡訓練。
已知問題
? 由于cuDNN 8.0.x自身的問題,使用cuDNN 8.0.x編譯推理庫且沒有使用TensorRT加速時,在很多模型上有性能退化現象,等待cuDNN后續版本解決。可以嘗試使用TensorRT加速,或者使用cuDNN7.6版本。
? 由于cuDNN 8.0.x自身的問題,使用cuDNN 8.0.x版本進行推理時,在某些模型會發生內存泄露現象,當前發現可能發生的為使用cuDNN的convolutionBiasActivationForward時。可以嘗試通過推理配置文件config.pass_builder()->DeletePass()禁用conv_elementwise_add_act_fuse_pass、conv_elementwise_add_act_fuse_pass。如果還有泄露現象,可以嘗試cuDNN7.6,并將發現問題的模型通過issue方式發給分析。
總結
以上是生活随笔為你收集整理的Paddle Release Note的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在框架外部自定义C++ OP
- 下一篇: AI框架类FAQ