text:
按Paddle-Lite文档操作，出现编译错误与执行错误

文档：
https://paddlepaddle.github.io/Paddle-Lite/v2.2.0/opencl/
环境

【FastDeploy版本】： Paddle-Lite v2.2.0
【编译命令】

$ git clone -b release/v2.2.0 https://github.com/PaddlePaddle/Paddle-Lite.git
$ docker run -it --name paddlelite_docker -v /home/unseenme/Paddle-Lite:/Paddle-Lite --net=host paddlepaddle/paddle-lite /bin/bash

root@PC:/# export NDK_ROOT=/opt/android-ndk-r17c
root@PC:/Paddle-Lite# ./lite/tools/ci_build.sh --arm_os=android --arm_abi=armv8 --arm_lang=gcc build_test_arm_opencl

问题一，示例1编译出错
想要【在产物目录demo/cxx/mobile_full下编译mobile_full的demo】
root@PC:/Paddle-Lite/build.lite.android.armv8.gcc.opencl/inference_lite_lib.android.armv8.opencl/demo/cxx/mobile_full# make

出错
../../..//cxx/lib//libpaddle_full_api_shared.so: undefined reference to `testing::UnitTest::GetInstance()'
../../..//cxx/lib//libpaddle_full_api_shared.so: undefined reference to `testing::UnitTest::Run()'
../../..//cxx/lib//libpaddle_full_api_shared.so: undefined reference to `testing::InitGoogleTest(int*, char**)'

问题二，示例二执行出错
执行下面命令时，出错。
$ adb -s DEVICEID shell /data/local/tmp/opencl/test_mobilenetv1 --cl_path=/data/local/tmp/opencl --model_dir=/data/local/tmp/opencl/mobilenet_v1 --warmup=1 --repeats=1

输出如下。
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from MobileNetV1
[ RUN      ] MobileNetV1.test_arm
[I  4/20  8:43:12.846 /Paddle-Lite/lite/core/device_info.cc get_cpu_arch:210] Unknow cpu arch: 3341
[I  4/20  8:43:12.846 /Paddle-Lite/lite/core/device_info.cc get_cpu_arch:210] Unknow cpu arch: 3341
[I  4/20  8:43:12.846 /Paddle-Lite/lite/core/device_info.cc get_cpu_arch:210] Unknow cpu arch: 3341
[I  4/20  8:43:12.847 /Paddle-Lite/lite/core/device_info.cc get_cpu_arch:210] Unknow cpu arch: 3341
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1035] ARM multiprocessors name: HARDWARE	: QUALCOMM TECHNOLOGIES, INC KONA
_NIO_KONA_
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1036] ARM multiprocessors number: 8
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1038] ARM multiprocessors ID: 0, max freq: 1804, min freq: 1804, cluster ID: 1, CPU ARCH: A55
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1038] ARM multiprocessors ID: 1, max freq: 1804, min freq: 1804, cluster ID: 1, CPU ARCH: A55
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1038] ARM multiprocessors ID: 2, max freq: 1804, min freq: 1804, cluster ID: 1, CPU ARCH: A55
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1038] ARM multiprocessors ID: 3, max freq: 1804, min freq: 1804, cluster ID: 1, CPU ARCH: A55
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1038] ARM multiprocessors ID: 4, max freq: 2419, min freq: 2419, cluster ID: 1, CPU ARCH: A-1
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1038] ARM multiprocessors ID: 5, max freq: 2419, min freq: 2419, cluster ID: 1, CPU ARCH: A-1
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1038] ARM multiprocessors ID: 6, max freq: 2419, min freq: 2419, cluster ID: 1, CPU ARCH: A-1
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1038] ARM multiprocessors ID: 7, max freq: 3187, min freq: 3187, cluster ID: 0, CPU ARCH: A-1
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1044] L1 DataCache size is:
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1046] 32 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1046] 32 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1046] 32 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1046] 32 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1046] 32 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1046] 32 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1046] 32 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1046] 32 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1048] L2 Cache size is:
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1050] 512 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1050] 512 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1050] 512 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1050] 512 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1050] 512 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1050] 512 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1050] 512 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1050] 512 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1052] L3 Cache size is:
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1054] 0 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1054] 0 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1054] 0 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1054] 0 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1054] 0 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1054] 0 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1054] 0 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1054] 0 KB
[I  4/20  8:43:12.853 /Paddle-Lite/lite/core/device_info.cc Setup:1056] Total memory: 7852856KB
[I  4/20  8:43:12.878 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_quant_dequant_fuse_pass
[I  4/20  8:43:12.881 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_quant_dequant_fuse_pass
[I  4/20  8:43:12.881 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_conv_elementwise_fuse_pass
[I  4/20  8:43:12.882 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_conv_elementwise_fuse_pass
[I  4/20  8:43:12.882 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_conv_bn_fuse_pass
[I  4/20  8:43:12.894 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 14 subgraph
[I  4/20  8:43:12.900 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 13 subgraph
[I  4/20  8:43:12.901 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_conv_bn_fuse_pass
[I  4/20  8:43:12.901 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_conv_elementwise_fuse_pass
[I  4/20  8:43:12.902 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_conv_elementwise_fuse_pass
[I  4/20  8:43:12.902 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_conv_activation_fuse_pass
[I  4/20  8:43:12.904 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 14 subgraph
[I  4/20  8:43:12.905 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 13 subgraph
[I  4/20  8:43:12.906 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_conv_activation_fuse_pass
[I  4/20  8:43:12.906 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_var_conv_2d_activation_fuse_pass
[I  4/20  8:43:12.906 /Paddle-Lite/lite/core/optimizer.h RunPasses:176]    - Skip lite_var_conv_2d_activation_fuse_pass because the target or kernel does not match.
[I  4/20  8:43:12.906 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_fc_fuse_pass
[I  4/20  8:43:12.906 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 1 subgraph
[I  4/20  8:43:12.906 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_fc_fuse_pass
[I  4/20  8:43:12.906 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_shuffle_channel_fuse_pass
[I  4/20  8:43:12.906 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_shuffle_channel_fuse_pass
[I  4/20  8:43:12.906 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_transpose_softmax_transpose_fuse_pass
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_transpose_softmax_transpose_fuse_pass
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_interpolate_fuse_pass
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_interpolate_fuse_pass
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: identity_scale_eliminate_pass
[I  4/20  8:43:12.907 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 1 subgraph
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: identity_scale_eliminate_pass
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: elementwise_mul_constant_eliminate_pass
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: elementwise_mul_constant_eliminate_pass
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_sequence_pool_concat_fuse_pass
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:176]    - Skip lite_sequence_pool_concat_fuse_pass because the target or kernel does not match.
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_elementwise_add_activation_fuse_pass
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_elementwise_add_activation_fuse_pass
[I  4/20  8:43:12.907 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: static_kernel_pick_pass
[I  4/20  8:43:12.908 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: static_kernel_pick_pass
[I  4/20  8:43:12.908 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: variable_place_inference_pass
[I  4/20  8:43:12.908 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: variable_place_inference_pass
[I  4/20  8:43:12.908 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:12.908 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:12.908 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: type_target_cast_pass
[I  4/20  8:43:12.908 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: type_target_cast_pass
[I  4/20  8:43:12.908 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: variable_place_inference_pass
[I  4/20  8:43:12.909 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: variable_place_inference_pass
[I  4/20  8:43:12.909 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:12.909 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:12.909 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: io_copy_kernel_pick_pass
[I  4/20  8:43:12.909 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: io_copy_kernel_pick_pass
[I  4/20  8:43:12.909 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:12.909 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:12.909 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: variable_place_inference_pass
[I  4/20  8:43:12.910 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: variable_place_inference_pass
[I  4/20  8:43:12.910 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:12.910 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:12.910 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: type_precision_cast_pass
[I  4/20  8:43:12.910 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: type_precision_cast_pass
[I  4/20  8:43:12.910 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: variable_place_inference_pass
[I  4/20  8:43:12.911 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: variable_place_inference_pass
[I  4/20  8:43:12.911 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:12.911 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:12.911 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: type_layout_cast_pass
dot:
digraph G {
   node_478[label="fc7_offset"]
   node_475[label="conv2_1_dw_bn_offset"]
   node_473[label="depthwise_conv2d30" shape="box" style="filled" color="black" fillcolor="yellow"]

...
   node_359->node_358
   node_358->node_360
   node_362->node_361

...

   node_363->node_476
   node_478->node_476
   node_476->node_365
} // end G
dot:
digraph G {
   node_599[label="fc7_offset"]
   node_596[label="conv2_1_dw_bn_offset"]
...
   node_572[label="conv5_3_dw_bn_offset"]
   node_488[label="fetch3" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_482[label="pool2d1" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_495[label="conv2d5" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_510[label="conv2d8" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_546[label="conv3_1_sep_weights"]
   node_480[label="feed"]
   node_515[label="conv2d9" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_481[label="image"]
   node_480->node_479
   node_479->node_481
   node_483->node_482
...
   node_484->node_597
   node_599->node_597
   node_597->node_486
} // end G
[I  4/20  8:43:12.912 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: type_layout_cast_pass
[I  4/20  8:43:12.912 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:12.912 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:12.912 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: variable_place_inference_pass
[I  4/20  8:43:12.912 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: variable_place_inference_pass
[I  4/20  8:43:12.912 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:12.912 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:12.912 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: runtime_context_assign_pass
[I  4/20  8:43:12.947 ...-Lite/lite/backends/opencl/cl_runtime.cc:147 InitializeDevice] Using device: QUALCOMM Adreno(TM)
[I  4/20  8:43:12.947 ...-Lite/lite/backends/opencl/cl_runtime.cc:150 InitializeDevice] The chosen device supports image processing.
[I  4/20  8:43:12.947 ...-Lite/lite/backends/opencl/cl_runtime.cc:158 InitializeDevice] The chosen device supports the half data type.
[I  4/20  8:43:12.947 ...-Lite/lite/backends/opencl/cl_runtime.cc:163 InitializeDevice] The chosen device has 3 compute units.
[I  4/20  8:43:12.947 ...-Lite/lite/backends/opencl/cl_runtime.cc:165 InitializeDevice] The local memory size of the chosen device is 32 KB.
[I  4/20  8:43:12.947 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: runtime_context_assign_pass
[I  4/20  8:43:12.947 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:12.947 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:12.947 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: memory_optimize_pass
[I  4/20  8:43:12.948 ...te/lite/core/mir/memory_optimize_pass.cc:103 CollectLifeCycleByDevice] There are 1 types device var.
[I  4/20  8:43:12.948 ...te/lite/core/mir/memory_optimize_pass.cc:152 MakeReusePlan] cluster: fc_0.tmp_1
[I  4/20  8:43:12.948 ...te/lite/core/mir/memory_optimize_pass.cc:152 MakeReusePlan] cluster: pool2d_0.tmp_0
[I  4/20  8:43:12.948 ...te/lite/core/mir/memory_optimize_pass.cc:152 MakeReusePlan] cluster: batch_norm_24.tmp_3
[I  4/20  8:43:12.953 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: memory_optimize_pass
[I  4/20  8:43:12.953 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: npu_subgraph_pass
[I  4/20  8:43:12.953 /Paddle-Lite/lite/core/optimizer.h RunPasses:176]    - Skip npu_subgraph_pass because the target or kernel does not match.
[I  4/20  8:43:12.953 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: xpu_subgraph_pass
[I  4/20  8:43:12.953 /Paddle-Lite/lite/core/optimizer.h RunPasses:176]    - Skip xpu_subgraph_pass because the target or kernel does not match.
dot:
digraph G {
   node_720[label="fc7_offset"]
   node_717[label="conv2_1_dw_bn_offset"]
   node_715[label="depthwise_conv2d30" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_714[label="conv2_2_dw_bn_offset"]
   node_713[label="conv2_2_dw_weights"]
...
   node_631[label="conv2d8" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_667[label="conv3_1_sep_weights"]
   node_601[label="feed"]
   node_636[label="conv2d9" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_601->node_600
   node_600->node_602
   node_604->node_603
...
   node_605->node_718
   node_720->node_718
   node_718->node_607
} // end G
[I  4/20  8:43:12.954 ...te/lite/core/mir/generate_program_pass.h:37 GenProgram] insts.size 32
[I  4/20  8:43:13. 25 ...Paddle-Lite/lite/api/mobilenetv1_test.cc:61 TestModel] ================== Speed Report ===================
[I  4/20  8:43:13. 25 ...Paddle-Lite/lite/api/mobilenetv1_test.cc:62 TestModel] Model: /data/local/tmp/opencl/mobilenet_v1, threads num 1, warmup: 1, repeats: 1, spend 27.535 ms in average.
[       OK ] MobileNetV1.test_arm (186 ms)
[ RUN      ] MobileNetV1.test_opencl
[I  4/20  8:43:13. 50 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_quant_dequant_fuse_pass
[I  4/20  8:43:13. 52 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_quant_dequant_fuse_pass
[I  4/20  8:43:13. 52 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_conv_elementwise_fuse_pass
[I  4/20  8:43:13. 53 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_conv_elementwise_fuse_pass
[I  4/20  8:43:13. 53 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_conv_bn_fuse_pass
[I  4/20  8:43:13. 61 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 14 subgraph
[I  4/20  8:43:13. 67 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 13 subgraph
[I  4/20  8:43:13. 68 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_conv_bn_fuse_pass
[I  4/20  8:43:13. 68 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_conv_elementwise_fuse_pass
[I  4/20  8:43:13. 69 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_conv_elementwise_fuse_pass
[I  4/20  8:43:13. 69 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_conv_activation_fuse_pass
[I  4/20  8:43:13. 71 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 14 subgraph
[I  4/20  8:43:13. 72 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 13 subgraph
[I  4/20  8:43:13. 73 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_conv_activation_fuse_pass
[I  4/20  8:43:13. 73 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_var_conv_2d_activation_fuse_pass
[I  4/20  8:43:13. 73 /Paddle-Lite/lite/core/optimizer.h RunPasses:176]    - Skip lite_var_conv_2d_activation_fuse_pass because the target or kernel does not match.
[I  4/20  8:43:13. 73 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_fc_fuse_pass
[I  4/20  8:43:13. 73 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 1 subgraph
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_fc_fuse_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_shuffle_channel_fuse_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_shuffle_channel_fuse_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_transpose_softmax_transpose_fuse_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_transpose_softmax_transpose_fuse_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_interpolate_fuse_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_interpolate_fuse_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: identity_scale_eliminate_pass
[I  4/20  8:43:13. 74 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 1 subgraph
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: identity_scale_eliminate_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: elementwise_mul_constant_eliminate_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: elementwise_mul_constant_eliminate_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_sequence_pool_concat_fuse_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:176]    - Skip lite_sequence_pool_concat_fuse_pass because the target or kernel does not match.
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: lite_elementwise_add_activation_fuse_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: lite_elementwise_add_activation_fuse_pass
[I  4/20  8:43:13. 74 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: static_kernel_pick_pass
[I  4/20  8:43:13. 76 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: static_kernel_pick_pass
[I  4/20  8:43:13. 76 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: variable_place_inference_pass
[I  4/20  8:43:13. 76 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: variable_place_inference_pass
[I  4/20  8:43:13. 76 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:13. 77 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:13. 77 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: type_target_cast_pass
[I  4/20  8:43:13. 84 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: type_target_cast_pass
[I  4/20  8:43:13. 84 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: variable_place_inference_pass
[I  4/20  8:43:13. 84 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: variable_place_inference_pass
[I  4/20  8:43:13. 84 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:13. 84 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:13. 84 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: io_copy_kernel_pick_pass
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:30 Apply] ....> picking a IO COPY kernel
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:36 Apply] input type Tensor<host,float,NCHW,0>
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:37 Apply] output type Tensor<opencl,float,NCHW,0>
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:40 Apply] kernels size 1
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:47 Apply] checking kernel candidate Tensor<host,float,NCHW,0>->Tensor<opencl,float,NCHW,0>
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:53 Apply] get a IOCopy kernel
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:30 Apply] ....> picking a IO COPY kernel
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:36 Apply] input type Tensor<opencl,float,NCHW,0>
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:37 Apply] output type Tensor<arm,float,NCHW,0>
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:40 Apply] kernels size 1
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:47 Apply] checking kernel candidate Tensor<opencl,float,NCHW,0>->Tensor<host,float,NCHW,0>
[I  4/20  8:43:13. 85 ...ite/core/mir/io_copy_kernel_pick_pass.cc:53 Apply] get a IOCopy kernel
[I  4/20  8:43:13. 85 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: io_copy_kernel_pick_pass
[I  4/20  8:43:13. 85 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:13. 85 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:13. 85 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: variable_place_inference_pass
[I  4/20  8:43:13. 86 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: variable_place_inference_pass
[I  4/20  8:43:13. 86 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:13. 86 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:13. 86 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: type_precision_cast_pass
[I  4/20  8:43:13. 86 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: type_precision_cast_pass
[I  4/20  8:43:13. 86 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: variable_place_inference_pass
[I  4/20  8:43:13. 87 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: variable_place_inference_pass
[I  4/20  8:43:13. 87 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:13. 87 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:13. 87 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: type_layout_cast_pass
dot:
digraph G {
   node_1313[label="io_copy_once88" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_1312[label="fc7_weights"]
   node_1309[label="io_copy_once86" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_1300[label="conv5_6_sep_weights"]
   node_1295[label="io_copy_once79" shape="box" style="filled" color="black" fillcolor="yellow"]
...
   node_1079[label="feed0" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_1080->node_1079
   node_1079->node_1081
   node_1083->node_1082
...
   node_1313->node_1200
   node_1201->node_1315
   node_1315->node_1086
} // end G
dot:
digraph G {
   node_1550[label="io_copy_once88" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_1549[label="fc7_weights"]
   node_1546[label="io_copy_once86" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_1537[label="conv5_6_sep_weights"]
   node_1532[label="io_copy_once79" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_1531[label="conv5_5_sep_bn_offset"]
...
   node_1317->node_1316
   node_1316->node_1318
   node_1320->node_1319
...
   node_1550->node_1437
   node_1438->node_1552
   node_1552->node_1323
} // end G
[I  4/20  8:43:13. 95 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: type_layout_cast_pass
[I  4/20  8:43:13. 95 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:13. 95 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:13. 95 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: variable_place_inference_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: variable_place_inference_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: runtime_context_assign_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: runtime_context_assign_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: argument_type_display_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:180] == Finished running: argument_type_display_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: memory_optimize_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:176]    - Skip memory_optimize_pass because the target or kernel does not match.
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: npu_subgraph_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:176]    - Skip npu_subgraph_pass because the target or kernel does not match.
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:163] == Running pass: xpu_subgraph_pass
[I  4/20  8:43:13. 96 /Paddle-Lite/lite/core/optimizer.h RunPasses:176]    - Skip xpu_subgraph_pass because the target or kernel does not match.
dot:
digraph G {
   node_1787[label="io_copy_once88" shape="box" style="filled" color="black" fillcolor="yellow"]
   node_1786[label="fc7_weights"]
   node_1783[label="io_copy_once86" shape="box" style="filled" color="black" fillcolor="yellow"]
...
   node_1554->node_1553
   node_1553->node_1555
   node_1557->node_1556
...
   node_1787->node_1674
   node_1675->node_1789
   node_1789->node_1560
} // end G
[I  4/20  8:43:13.100 ...te/lite/core/mir/generate_program_pass.h:37 GenProgram] insts.size 90
[I  4/20  8:43:13.233 ...-Lite/lite/backends/opencl/cl_runtime.cc:108 BuildProgram] OpenCL error with code CL_OUT_OF_HOST_MEMORY happened in file /Paddle-Lite/lite/backends/opencl/cl_runtime.cc at line 108. Exiting.

[F  4/20  8:43:13.233 ...-Lite/lite/backends/opencl/cl_runtime.cc:114 BuildProgram] Program build error: Pass
Aborted

感谢反馈，我们先复现下这个问题哈

authors: DefTruth unseenme

repo: PaddlePaddle/FastDeploy


text:
Load model from ONNX failed while initliazing TrtBackend - Yolov5

Environment
FastDeploy version:  latest code in develop branch
OS Platform: jetson
Hardware: e.g. jetson nano
Program Language: e.g. c plus plus
Problem description
Using jetson I receive the below error with yolov5 .
[ERROR] fastdeploy/backends/tensorrt/trt_backend.cc(637)::CreateTrtEngineFromOnnx	Failed to parse ONNX model by TensorRT.
[ERROR] fastdeploy/backends/tensorrt/trt_backend.cc(263)::InitFromOnnx	Failed to create tensorrt engine.
[ERROR] fastdeploy/runtime.cc(764)::CreateTrtBackend	Load model from ONNX failed while initliazing TrtBackend.
Aborted (core dumped)
I built the library according to build on jetson docs.

where doese the yolov5 onnx file, have you tested the onnx file provided by FastDeploy?
If the yolov5 onnx file provided by FastDeploy cannot work either, the most reason may comes from the Jetpack version you are using.
We suggest using the newest Jetpack, it will integrate the newest TensorRT which is more robust with ONNX model.

where doese the yolov5 onnx file come from, have you tested the onnx file provided by FastDeploy?
I have been using these files with fastdeploy on windows.
I will try with previous fastdeploy versions if that doesnt work I will update my jetpack.Thanks for quick feedback.

I  think jetson nano supports up to jetpack 4.6.3 and I have 4.6.1 so this should not be the problem.I have also tried with picodet and seems to be working with with tensorrt.My yolov5 onnx files work fine with cpu but tensorrt is not working.I will investigate further.

I  think jetson nano supports up to jetpack 4.6.3 and I have 4.6.1 so this should not be the problem.I have also tried with picodet and seems to be working with with tensorrt.My yolov5 onnx files work fine with cpu but tensorrt is not working.I will investigate further.

Issue was indeed onnx files,the onnx files were exported with torch 1.12 which results in error when converting to tensorrt.Torch below 1.12 works fine.

source: gharchive/issue

license_type: permissive

license_source: github-api


text:
有3个C API导出名称风格规范不一致

注意到有3个C API导出名称不一致：
分别是：

get_cpu_num
get_thread_num
set_thread_num

应该使用整体的规范，比如：

fcvGetCpuNum
fcvGetThreadNum
fcvSetThreadNum

建议更具体一些的名字，比如：

fcvGetPhysicalThreadCount
fcvGetLogicalThreadCount
fcvSetThreadPoolThreadCount

嗯，这个计划是下个版本加进来，因为当前版本已经提测了不好修改。

authors: TomasRan sdcb

repo: PaddlePaddle/FlyCV


text:
转换规则 KLDivLoss

PR Docs
torch.nn.KLDivLoss 已有映射文档
torch.nn.NLLLoss2d 已有映射文档，同 torch.nn.NLLLoss
PR APIs
torch.nn.KLDivLoss
 torch.nn.NLLLoss2d

PR Docs
torch.nn.KLDivLoss 已有映射文档 torch.nn.NLLLoss2d 已有映射文档，同 torch.nn.NLLLoss
PR APIs
torch.nn.KLDivLoss
 torch.nn.NLLLoss2d

目前没有看到torch.nn.NLLLoss2d的映射文档

source: gharchive/pull-request

repo: PaddlePaddle/PaConvert


text:
update python inference model version from 1.8 to 2.0

更新python demo的版本

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant winter-wang

repo: PaddlePaddle/Paddle-Inference-Demo


text:
linux training error  :(

(paddle_gpu) uvtec@uvtec-MS-7B98:/media/uvtec/9AF4F5A0F4F57EB7/PaddleClas$ python -m paddle.distributed.launch --gpus="0,1" tools/train.py -c ./ppcls/configs/ImageNet/ResNet/ResNet101_vd.yaml
LAUNCH INFO 2023-04-24 09:09:32,830 -----------  Configuration  ----------------------
LAUNCH INFO 2023-04-24 09:09:32,831 devices: 0,1
LAUNCH INFO 2023-04-24 09:09:32,831 elastic_level: -1
LAUNCH INFO 2023-04-24 09:09:32,831 elastic_timeout: 30
LAUNCH INFO 2023-04-24 09:09:32,831 gloo_port: 6767
LAUNCH INFO 2023-04-24 09:09:32,831 host: None
LAUNCH INFO 2023-04-24 09:09:32,831 ips: None
LAUNCH INFO 2023-04-24 09:09:32,831 job_id: default
LAUNCH INFO 2023-04-24 09:09:32,831 legacy: False
LAUNCH INFO 2023-04-24 09:09:32,831 log_dir: log
LAUNCH INFO 2023-04-24 09:09:32,831 log_level: INFO
LAUNCH INFO 2023-04-24 09:09:32,831 master: None
LAUNCH INFO 2023-04-24 09:09:32,831 max_restart: 3
LAUNCH INFO 2023-04-24 09:09:32,831 nnodes: 1
LAUNCH INFO 2023-04-24 09:09:32,831 nproc_per_node: None
LAUNCH INFO 2023-04-24 09:09:32,831 rank: -1
LAUNCH INFO 2023-04-24 09:09:32,831 run_mode: collective
LAUNCH INFO 2023-04-24 09:09:32,831 server_num: None
LAUNCH INFO 2023-04-24 09:09:32,831 servers:
LAUNCH INFO 2023-04-24 09:09:32,831 start_port: 6070
LAUNCH INFO 2023-04-24 09:09:32,831 trainer_num: None
LAUNCH INFO 2023-04-24 09:09:32,831 trainers:
LAUNCH INFO 2023-04-24 09:09:32,831 training_script: tools/train.py
LAUNCH INFO 2023-04-24 09:09:32,831 training_script_args: ['-c', './ppcls/configs/ImageNet/ResNet/ResNet101_vd.yaml']
LAUNCH INFO 2023-04-24 09:09:32,831 with_gloo: 1
LAUNCH INFO 2023-04-24 09:09:32,831 --------------------------------------------------
LAUNCH INFO 2023-04-24 09:09:32,831 Job: default, mode collective, replicas 1[1:1], elastic False
LAUNCH INFO 2023-04-24 09:09:32,834 Run Pod: gnhppr, replicas 2, status ready
LAUNCH INFO 2023-04-24 09:09:32,842 Watching Pod: gnhppr, replicas 2, status running
[2023/04/24 09:09:38] ppcls INFO:
==        PaddleClas is powered by PaddlePaddle !        ==
==                                                       ==
==   For more info please go to the following website.   ==
==                                                       ==
==       https://github.com/PaddlePaddle/PaddleClas      ==
[2023/04/24 09:09:38] ppcls INFO: Arch :
[2023/04/24 09:09:38] ppcls INFO:     class_num : 2
[2023/04/24 09:09:38] ppcls INFO:     name : ResNet101_vd
[2023/04/24 09:09:38] ppcls INFO: DataLoader :
[2023/04/24 09:09:38] ppcls INFO:     Eval :
[2023/04/24 09:09:39] ppcls INFO:         dataset :
[2023/04/24 09:09:39] ppcls INFO:             cls_label_path : ./dataset/maorong_dif_long/val_list.txt
[2023/04/24 09:09:39] ppcls INFO:             image_root : ./dataset/maorong_dif_long/
[2023/04/24 09:09:39] ppcls INFO:             name : ImageNetDataset
[2023/04/24 09:09:39] ppcls INFO:             transform_ops :
[2023/04/24 09:09:39] ppcls INFO:                 DecodeImage :
[2023/04/24 09:09:39] ppcls INFO:                     channel_first : False
[2023/04/24 09:09:39] ppcls INFO:                     to_rgb : True
[2023/04/24 09:09:39] ppcls INFO:                 ResizeImage :
[2023/04/24 09:09:39] ppcls INFO:                     resize_short : 896
[2023/04/24 09:09:39] ppcls INFO:                 CropImage :
[2023/04/24 09:09:39] ppcls INFO:                     size : 896
[2023/04/24 09:09:39] ppcls INFO:                 NormalizeImage :
[2023/04/24 09:09:39] ppcls INFO:                     mean : [0.485, 0.456, 0.406]
[2023/04/24 09:09:39] ppcls INFO:                     order :
[2023/04/24 09:09:39] ppcls INFO:                     scale : 1.0/255.0
[2023/04/24 09:09:39] ppcls INFO:                     std : [0.229, 0.224, 0.225]
[2023/04/24 09:09:39] ppcls INFO:         loader :
[2023/04/24 09:09:39] ppcls INFO:             num_workers : 4
[2023/04/24 09:09:39] ppcls INFO:             use_shared_memory : True
[2023/04/24 09:09:39] ppcls INFO:         sampler :
[2023/04/24 09:09:39] ppcls INFO:             batch_size : 4
[2023/04/24 09:09:39] ppcls INFO:             drop_last : False
[2023/04/24 09:09:39] ppcls INFO:             name : DistributedBatchSampler
[2023/04/24 09:09:39] ppcls INFO:             shuffle : False
[2023/04/24 09:09:39] ppcls INFO:     Train :
[2023/04/24 09:09:39] ppcls INFO:         dataset :
[2023/04/24 09:09:39] ppcls INFO:             batch_transform_ops : None
[2023/04/24 09:09:39] ppcls INFO:             cls_label_path : ./dataset/maorong_dif_long/train_list.txt
[2023/04/24 09:09:39] ppcls INFO:             image_root : ./dataset/maorong_dif_long/
[2023/04/24 09:09:39] ppcls INFO:             name : ImageNetDataset
[2023/04/24 09:09:39] ppcls INFO:             transform_ops :
[2023/04/24 09:09:39] ppcls INFO:                 DecodeImage :
[2023/04/24 09:09:39] ppcls INFO:                     channel_first : False
[2023/04/24 09:09:39] ppcls INFO:                     to_rgb : True
[2023/04/24 09:09:39] ppcls INFO:                 RandCropImage :
[2023/04/24 09:09:39] ppcls INFO:                     size : 896
[2023/04/24 09:09:39] ppcls INFO:                 RandFlipImage :
[2023/04/24 09:09:39] ppcls INFO:                     flip_code : 1
[2023/04/24 09:09:39] ppcls INFO:                 NormalizeImage :
[2023/04/24 09:09:39] ppcls INFO:                     mean : [0.485, 0.456, 0.406]
[2023/04/24 09:09:39] ppcls INFO:                     order :
[2023/04/24 09:09:39] ppcls INFO:                     scale : 1.0/255.0
[2023/04/24 09:09:39] ppcls INFO:                     std : [0.229, 0.224, 0.225]
[2023/04/24 09:09:39] ppcls INFO:         loader :
[2023/04/24 09:09:39] ppcls INFO:             num_workers : 4
[2023/04/24 09:09:39] ppcls INFO:             use_shared_memory : True
[2023/04/24 09:09:39] ppcls INFO:         sampler :
[2023/04/24 09:09:39] ppcls INFO:             batch_size : 4
[2023/04/24 09:09:39] ppcls INFO:             drop_last : False
[2023/04/24 09:09:39] ppcls INFO:             name : DistributedBatchSampler
[2023/04/24 09:09:39] ppcls INFO:             shuffle : True
[2023/04/24 09:09:39] ppcls INFO: Global :
[2023/04/24 09:09:39] ppcls INFO:     checkpoints : None
[2023/04/24 09:09:39] ppcls INFO:     device : gpu
[2023/04/24 09:09:39] ppcls INFO:     epochs : 200
[2023/04/24 09:09:39] ppcls INFO:     eval_during_train : True
[2023/04/24 09:09:39] ppcls INFO:     eval_interval : 1
[2023/04/24 09:09:39] ppcls INFO:     image_shape : [3, 896, 896]
[2023/04/24 09:09:39] ppcls INFO:     output_dir : ./output/
[2023/04/24 09:09:39] ppcls INFO:     pretrained_model : None
[2023/04/24 09:09:39] ppcls INFO:     print_batch_step : 10
[2023/04/24 09:09:39] ppcls INFO:     save_inference_dir : ./inference/ResNet101_vd
[2023/04/24 09:09:39] ppcls INFO:     save_interval : 1
[2023/04/24 09:09:39] ppcls INFO:     use_visualdl : True
[2023/04/24 09:09:39] ppcls INFO: Infer :
[2023/04/24 09:09:39] ppcls INFO:     PostProcess :
[2023/04/24 09:09:39] ppcls INFO:         class_id_map_file : ppcls/utils/imagenet1k_label_list.txt
[2023/04/24 09:09:39] ppcls INFO:         name : Topk
[2023/04/24 09:09:39] ppcls INFO:         topk : 5
[2023/04/24 09:09:39] ppcls INFO:     batch_size : 10
[2023/04/24 09:09:39] ppcls INFO:     infer_imgs : docs/images/inference_deployment/whl_demo.jpg
[2023/04/24 09:09:39] ppcls INFO:     transforms :
[2023/04/24 09:09:39] ppcls INFO:         DecodeImage :
[2023/04/24 09:09:39] ppcls INFO:             channel_first : False
[2023/04/24 09:09:39] ppcls INFO:             to_rgb : True
[2023/04/24 09:09:39] ppcls INFO:         ResizeImage :
[2023/04/24 09:09:39] ppcls INFO:             resize_short : 896
[2023/04/24 09:09:39] ppcls INFO:         CropImage :
[2023/04/24 09:09:39] ppcls INFO:             size : 896
[2023/04/24 09:09:39] ppcls INFO:         NormalizeImage :
[2023/04/24 09:09:39] ppcls INFO:             mean : [0.485, 0.456, 0.406]
[2023/04/24 09:09:39] ppcls INFO:             order :
[2023/04/24 09:09:39] ppcls INFO:             scale : 1.0/255.0
[2023/04/24 09:09:39] ppcls INFO:             std : [0.229, 0.224, 0.225]
[2023/04/24 09:09:39] ppcls INFO:         ToCHWImage : None
[2023/04/24 09:09:39] ppcls INFO: Loss :
[2023/04/24 09:09:39] ppcls INFO:     Eval :
[2023/04/24 09:09:39] ppcls INFO:         CELoss :
[2023/04/24 09:09:39] ppcls INFO:             weight : 1.0
[2023/04/24 09:09:39] ppcls INFO:     Train :
[2023/04/24 09:09:39] ppcls INFO:         CELoss :
[2023/04/24 09:09:39] ppcls INFO:             epsilon : 0.1
[2023/04/24 09:09:39] ppcls INFO:             weight : 1.0
[2023/04/24 09:09:39] ppcls INFO: Metric :
[2023/04/24 09:09:39] ppcls INFO:     Eval :
[2023/04/24 09:09:39] ppcls INFO:         TopkAcc :
[2023/04/24 09:09:39] ppcls INFO:             topk : [1, 5]
[2023/04/24 09:09:39] ppcls INFO:     Train : None
[2023/04/24 09:09:39] ppcls INFO: Optimizer :
[2023/04/24 09:09:39] ppcls INFO:     lr :
[2023/04/24 09:09:39] ppcls INFO:         learning_rate : 0.1
[2023/04/24 09:09:39] ppcls INFO:         name : Cosine
[2023/04/24 09:09:39] ppcls INFO:     momentum : 0.9
[2023/04/24 09:09:39] ppcls INFO:     name : Momentum
[2023/04/24 09:09:39] ppcls INFO:     regularizer :
[2023/04/24 09:09:39] ppcls INFO:         coeff : 0.0001
[2023/04/24 09:09:39] ppcls INFO:         name : L2
[2023/04/24 09:09:39] ppcls INFO: profiler_options : None
[2023/04/24 09:09:39] ppcls INFO: train with paddle 2.4.2 and device Place(gpu:0)
W0424 09:09:43.058949  7970 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 12.0, Runtime API Version: 11.7
W0424 09:09:43.059475  7970 gpu_resources.cc:91] device: 0, cuDNN Version: 8.9.
[2023/04/24 09:09:43] ppcls WARNING: The training strategy provided by PaddleClas is based on 4 gpus. But the number of gpu is 2 in current training. Please modify the stategy (learning rate, batch size and so on) if use this config to train.
I0424 09:09:43.886898  7970 tcp_utils.cc:181] The server starts to listen on IP_ANY:48471
I0424 09:09:43.887037  7970 tcp_utils.cc:130] Successfully connected to 127.0.1.1:48471
[2023/04/24 09:09:57] ppcls INFO: [Train][Epoch 1/200][Iter: 0/5493]lr(CosineAnnealingDecay): 0.10000000, CELoss: 0.70461, loss: 0.70461, batch_cost: 12.86058s, reader_cost: 0.89499, ips: 0.31103 samples/s, eta: 163 days, 12:37:14

C++ Traceback (most recent call last):
0   paddle::pybind::ThrowExceptionToPython(std::__exception_ptr::exception_ptr)

Error Message Summary:
FatalError: Process abort signal is detected by the operating system.
[TimeInfo: *** Aborted at 1682298608 (unix time) try "date -d @1682298608" if you are using GNU date ***]
[SignalInfo: *** SIGABRT (@0x3e800001f22) received by PID 7970 (TID 0x7f4b4ac39740) from PID 7970 ***]
LAUNCH INFO 2023-04-24 09:10:08,912 Pod failed
LAUNCH ERROR 2023-04-24 09:10:08,912 Container failed !!!
Container rank 0 status failed cmd ['/home/uvtec/miniconda3/envs/paddle_gpu/bin/python', '-u', 'tools/train.py', '-c', './ppcls/configs/ImageNet/ResNet/ResNet101_vd.yaml'] code -6 log log/workerlog.0
env {'SHELL': '/bin/bash', 'SESSION_MANAGER': 'local/uvtec-MS-7B98:@/tmp/.ICE-unix/2423,unix/uvtec-MS-7B98:/tmp/.ICE-unix/2423', 'QT_ACCESSIBILITY': '1', 'SNAP_REVISION': '327', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'SSH_AGENT_LAUNCHER': 'gnome-keyring', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'CONDA_EXE': '/home/uvtec/miniconda3/bin/conda', '_CE_M': '', 'SNAP_REAL_HOME': '/home/uvtec', 'TERMINAL_EMULATOR': 'JetBrains-JediTerm', 'SNAP_USER_COMMON': '/home/uvtec/snap/pycharm-community/common', 'LANGUAGE': 'zh_CN:en', 'LC_ADDRESS': 'zh_CN.UTF-8', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'LC_NAME': 'zh_CN.UTF-8', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'TERM_SESSION_ID': 'a956c70c-5d9f-4680-8ac6-2ad7d58ec4f1', 'SNAP_INSTANCE_KEY': '', 'XMODIFIERS': '@im=ibus', 'DESKTOP_SESSION': 'ubuntu', 'LC_MONETARY': 'zh_CN.UTF-8', 'BAMF_DESKTOP_FILE_HINT': '/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop', 'GTK_MODULES': 'gail:atk-bridge', 'PWD': '/media/uvtec/9AF4F5A0F4F57EB7/PaddleClas', 'XDG_SESSION_DESKTOP': 'ubuntu', 'LOGNAME': 'uvtec', 'XDG_SESSION_TYPE': 'x11', 'CONDA_PREFIX': '/home/uvtec/miniconda3/envs/paddle_gpu', 'GPG_AGENT_INFO': '/run/user/1000/gnupg/S.gpg-agent:0:1', 'SYSTEMD_EXEC_PID': '2442', 'XAUTHORITY': '/run/user/1000/gdm/Xauthority', 'DESKTOP_STARTUP_ID': 'gnome-shell/PyCharm Community Edition/2442-0-uvtec-MS-7B98_TIME1963332', 'SNAP_CONTEXT': 'ItXkcY4SkrtWx8kN-yr9nOSIKj2CLtxC0KLdiOUjek9vLzFvhRJT', 'GJS_DEBUG_TOPICS': 'JS ERROR;JS LOG', 'WINDOWPATH': '2', 'HOME': '/home/uvtec', 'USERNAME': 'uvtec', 'LANG': 'zh_CN.UTF-8', 'LC_PAPER': 'zh_CN.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.webp=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36:', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'SNAP_ARCH': 'amd64', 'SNAP_INSTANCE_NAME': 'pycharm-community', 'SNAP_USER_DATA': '/home/uvtec/snap/pycharm-community/327', 'CONDA_PROMPT_MODIFIER': '(paddle_gpu) ', 'INVOCATION_ID': 'f614011ab40f4ab98614d015201130dd', 'MANAGERPID': '2142', 'SNAP_REEXEC': '', 'GJS_DEBUG_OUTPUT': 'stderr', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'LC_IDENTIFICATION': 'zh_CN.UTF-8', 'CE_CONDA': '', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'uvtec', 'SNAP': '/snap/pycharm-community/327', 'CONDA_SHLVL': '2', 'SNAP_COMMON': '/var/snap/pycharm-community/common', 'SNAP_VERSION': '2023.1', 'DISPLAY': ':1', 'SHLVL': '1', 'SNAP_LIBRARY_PATH': '/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl32:/var/lib/snapd/void', 'SNAP_COOKIE': 'ItXkcY4SkrtWx8kN-yr9nOSIKj2CLtxC0KLdiOUjek9vLzFvhRJT', 'LC_TELEPHONE': 'zh_CN.UTF-8', 'QT_IM_MODULE': 'ibus', 'LC_MEASUREMENT': 'zh_CN.UTF-8', 'PAPERSIZE': 'a4', 'SNAP_DATA': '/var/snap/pycharm-community/327', 'CONDA_PYTHON_EXE': '/home/uvtec/miniconda3/bin/python', 'LD_LIBRARY_PATH': '/home/uvtec/miniconda3/envs/paddle_gpu/lib/python3.8/site-packages/cv2/../../lib64:/usr/local/cuda-11.7/lib64:', 'XDG_RUNTIME_DIR': '/run/user/1000', 'CONDA_DEFAULT_ENV': 'paddle_gpu', 'LC_TIME': 'zh_CN.UTF-8', 'SNAP_NAME': 'pycharm-community', 'JOURNAL_STREAM': '8:31656', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PATH': '/home/uvtec/miniconda3/envs/paddle_gpu/bin:/home/uvtec/miniconda3/condabin:/usr/local/cuda-11.7/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'GDMSESSION': 'ubuntu', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'CONDA_PREFIX_1': '/home/uvtec/miniconda3', 'GIO_LAUNCHED_DESKTOP_FILE_PID': '3863', 'GIO_LAUNCHED_DESKTOP_FILE': '/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop', 'LC_NUMERIC': 'zh_CN.UTF-8', '': '/home/uvtec/miniconda3/envs/paddle_gpu/bin/python', 'CUSTOM_DEVICE_ROOT': '', 'OMP_NUM_THREADS': '1', 'QT_QPA_PLATFORM_PLUGIN_PATH': '/home/uvtec/miniconda3/envs/paddle_gpu/lib/python3.8/site-packages/cv2/qt/plugins', 'QT_QPA_FONTDIR': '/home/uvtec/miniconda3/envs/paddle_gpu/lib/python3.8/site-packages/cv2/qt/fonts', 'POD_NAME': 'gnhppr', 'PADDLE_MASTER': '127.0.1.1:48471', 'PADDLE_GLOBAL_SIZE': '2', 'PADDLE_LOCAL_SIZE': '2', 'PADDLE_GLOBAL_RANK': '0', 'PADDLE_LOCAL_RANK': '0', 'PADDLE_NNODES': '1', 'PADDLE_TRAINER_ENDPOINTS': '127.0.1.1:48472,127.0.1.1:48473', 'PADDLE_CURRENT_ENDPOINT': '127.0.1.1:48472', 'PADDLE_TRAINER_ID': '0', 'PADDLE_TRAINERS_NUM': '2', 'PADDLE_RANK_IN_NODE': '0', 'FLAGS_selected_gpus': '0'}
LAUNCH INFO 2023-04-24 09:10:08,912 ------------------------- ERROR LOG DETAIL -------------------------
5, 0.456, 0.406]
[2023/04/24 09:09:39] ppcls INFO:             order :
[2023/04/24 09:09:39] ppcls INFO:             scale : 1.0/255.0
[2023/04/24 09:09:39] ppcls INFO:             std : [0.229, 0.224, 0.225]
[2023/04/24 09:09:39] ppcls INFO:         ToCHWImage : None
[2023/04/24 09:09:39] ppcls INFO: Loss :
[2023/04/24 09:09:39] ppcls INFO:     Eval :
[2023/04/24 09:09:39] ppcls INFO:         CELoss :
[2023/04/24 09:09:39] ppcls INFO:             weight : 1.0
[2023/04/24 09:09:39] ppcls INFO:     Train :
[2023/04/24 09:09:39] ppcls INFO:         CELoss :
[2023/04/24 09:09:39] ppcls INFO:             epsilon : 0.1
[2023/04/24 09:09:39] ppcls INFO:             weight : 1.0
[2023/04/24 09:09:39] ppcls INFO: Metric :
[2023/04/24 09:09:39] ppcls INFO:     Eval :
[2023/04/24 09:09:39] ppcls INFO:         TopkAcc :
[2023/04/24 09:09:39] ppcls INFO:             topk : [1, 5]
[2023/04/24 09:09:39] ppcls INFO:     Train : None
[2023/04/24 09:09:39] ppcls INFO: Optimizer :
[2023/04/24 09:09:39] ppcls INFO:     lr :
[2023/04/24 09:09:39] ppcls INFO:         learning_rate : 0.1
[2023/04/24 09:09:39] ppcls INFO:         name : Cosine
[2023/04/24 09:09:39] ppcls INFO:     momentum : 0.9
[2023/04/24 09:09:39] ppcls INFO:     name : Momentum
[2023/04/24 09:09:39] ppcls INFO:     regularizer :
[2023/04/24 09:09:39] ppcls INFO:         coeff : 0.0001
[2023/04/24 09:09:39] ppcls INFO:         name : L2
[2023/04/24 09:09:39] ppcls INFO: profiler_options : None
[2023/04/24 09:09:39] ppcls INFO: train with paddle 2.4.2 and device Place(gpu:0)
W0424 09:09:43.058949  7970 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 12.0, Runtime API Version: 11.7
W0424 09:09:43.059475  7970 gpu_resources.cc:91] device: 0, cuDNN Version: 8.9.
[2023/04/24 09:09:43] ppcls WARNING: The training strategy provided by PaddleClas is based on 4 gpus. But the number of gpu is 2 in current training. Please modify the stategy (learning rate, batch size and so on) if use this config to train.
I0424 09:09:43.886898  7970 tcp_utils.cc:181] The server starts to listen on IP_ANY:48471
I0424 09:09:43.887037  7970 tcp_utils.cc:130] Successfully connected to 127.0.1.1:48471
[2023/04/24 09:09:57] ppcls INFO: [Train][Epoch 1/200][Iter: 0/5493]lr(CosineAnnealingDecay): 0.10000000, CELoss: 0.70461, loss: 0.70461, batch_cost: 12.86058s, reader_cost: 0.89499, ips: 0.31103 samples/s, eta: 163 days, 12:37:14

C++ Traceback (most recent call last):
0   paddle::pybind::ThrowExceptionToPython(std::__exception_ptr::exception_ptr)

Error Message Summary:
FatalError: Process abort signal is detected by the operating system.
[TimeInfo: *** Aborted at 1682298608 (unix time) try "date -d @1682298608" if you are using GNU date ***]
[SignalInfo: *** SIGABRT (@0x3e800001f22) received by PID 7970 (TID 0x7f4b4ac39740) from PID 7970 ***]

我也遇到这个问题，请问怎么解决呢

重启解决了！你也试试吧！（注意batch_size设置小一些）

ok！

repo: PaddlePaddle/PaddleClas


text:
风格迁移如何去单张图片进行推理

训练出来的cyclegan，如何只推理一张图片

为什么我从风格A生成风格B,会依赖于testB数据的形式，，所有生成的风格都是testB一样的，没有testA原先的特征

repo: PaddlePaddle/PaddleGAN


text:
希望增加将预训练模型或训练好的模型转换为推理模型的代码！

Feature request
希望增加将预训练模型或训练好的模型转换为推理模型的代码！
Motivation
由于fastdeploy或者是paddle2onnx都是使用推理模型才能实现，目前仅有少量模型提供了推理模型，这严重阻碍了paddlenlp的企业应用
Your contribution
目前paddleocr提供了转换代码，不过需要训练时的配置文件，nlp的预训练模型好像没有这个yml文件，paddleocr那个脚本是否也适用于paddlenlp

确实没有export.py的代码,官方冒个泡啊

repo: PaddlePaddle/PaddleNLP


text:
[Question]: ernie-3.0-base-zh 预训练基于wudao数据

请问 ernie-3.0-base-zh 预训练基于 wudao 数据训练中
1.数据处理脚本和这里ernie-1.0的一致吗？
https://github.com/PaddlePaddle/PaddleNLP/blob/e6a9cee8e7445542be8463d01db90d0c1c873b89/model_zoo/ernie-1.0/preprocess/docs/WuDaoCorpusBase.md
2.请问有wudao 200G数据训练时长和精度可以参考吗？
python -u -m paddle.distributed.launch \
    --log_dir "output/trainer_log" \
    run_pretrain_trainer.py \
    --model_type "ernie" \
    --model_name_or_path "ernie-3.0-base-zh" \
    --tokenizer_name_or_path "ernie-3.0-base-zh" \
    --input_dir "./data_ernie_3.0" \
    --output_dir "output/trainer_log" \
    --split 949,50,1 \
    --max_seq_length 512 \
    --per_device_train_batch_size 16 \
    --per_device_eval_batch_size 32 \
    --fp16  \
    --fp16_opt_level "O2"  \
    --learning_rate 0.0001 \
    --min_learning_rate 0.00001 \
    --max_steps 2 \
    --save_steps 2\
    --weight_decay 0.01 \
    --warmup_ratio 0.01 \
    --max_grad_norm 1.0 \
    --logging_steps 1\
    --dataloader_num_workers 4 \
    --eval_steps 1000 \
    --report_to "visualdl" \
    --disable_tqdm true \
    --do_train \
    --device "gpu"

1.数据处理脚本和这里ernie-1.0的一致吗？
对，注意切换tokenizer
2.请问有wudao 200G数据训练时长和精度可以参考吗？
两台A100 40G，两周左右，可以看 ernie-1.0-base-cw  ernie-1.0-large-cw的效果。

1.数据处理脚本和这里ernie-1.0的一致吗？ 对，注意切换tokenizer
2.请问有wudao 200G数据训练时长和精度可以参考吗？ 两台A100 40G，两周左右，可以看 ernie-1.0-base-cw ernie-1.0-large-cw的效果。

tokenizer => ernie-3.0-base-zh
两台A100 40G => 两台机器 2 * 8 = 16张卡是吗？

对的

authors: ZHUI tiandou-tangdou


text:
[PaddlePaddle Hackathon] 第53题

PR types
New features
PR changes
Models
Description
https://github.com/PaddlePaddle/PaddleNLP/issues/1077

在PaddleNLP的BigBird模型代码中，新增 BigBirdForQuestionAnswering，BigBirdForTokenClassification，BigBirdForMultipleChoice，BigBirdForCausalLM 和 BigBirdForMaskedLM 这五个类。
包含项目代码、注释、单测文件

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/model_zoo/transformers.rst
这个文件也需要同步修改

authors: CLAassistant iverxin yingyibiao


text:
PaddleX无法安装

在Github上下载的PaddleX安装包，运行setup，不管在命令行还是Jupyter里面都无法安装PaddleX，类似附件的提示

看起来是依赖的numpy有问题，pip install numpy再安装试试

authors: Treenomad lailuboy

repo: PaddlePaddle/PaddleX


text:
ubantu中PaddleX客户端蔬菜分类GPU训练失败

目前已安装cuda10.0，cudnn7.6.5，而该版本cudnn要求是7.6.0，是不是cudnn版本出现问题；cpu版本可正常训练，但时间较久；PS：显卡是两个RTX3080，为了使用paddlex客户端只安装了cuda10.0，但是显卡驱动是最新的460.32。
下面是训练日志报错的信息：
This log file path is /home/fengmai/paddlex_workspace/projects/P0003/T0012/out.log
注意：标志为WARNING/INFO类的仅为警告或提示类信息，非错误信息
2021-01-29 11:45:42 [INFO]	267 samples in file /home/fengmai/paddlex_workspace/datasets/D0003/train_list.txt
2021-01-29 11:45:42 [INFO]	76 samples in file /home/fengmai/paddlex_workspace/datasets/D0003/val_list.txt
2021-01-29 11:45:45 [INFO]	Decompressing /home/fengmai/paddlex_workspace/pretrain/MobileNetV2_pretrained.tar...
2021-01-29 11:45:45 [DEBUG]	/home/fengmai/paddlex_workspace/pretrain/MobileNetV2_pretrained.tar decompressed.
请帮忙排查，谢谢了。

日志中2021-01-29 11:45:45 [DEBUG] /home/fengmai/paddlex_workspace/pretrain/MobileNetV2_pretrained.tar decompressed.后没有其他打印了是吧？可以发下全的日志。
有一点可能是问题的原因，因为RTX3080目前还支持不了，尝试换下显卡看是否可以训练。


text:
Master Password Reset Feature

Master Password Reset option can help in those cases where someone forgets their master password.

@Pagasis I would love to work on this. Can you assign me the issue?

Yeah sure

authors: ElyTgy Pagasis VFXGamer

repo: Pagasis/VaultDB

license: MIT


text:
query parameters not working with incidents end point

Script passes service id's and team id's but it does not honor the parameters passed to filter incidents returned.

Hey there,
Thanks for your contribution but we decided to deprecate this project. Please use PDPyras instead.

authors: bzmw sjtarik

repo: PagerDuty/pagerduty-api-python-client

license: mit

license_source: bigquery


text:
Fix for malformed query string on Python3

Python3 reevaluates the map at each iteration of the loop, use a copy of query_params to avoid reprocessing already seen items.  Fixes #21

I'll take it. I think that it would be appropriate to also just kill my terrible mutating code there too. :) Feel free to make that improvement if you'd like too! Thanks @raizyr

authors: jdcumpson raizyr


text:
Add tab tree structure

I would love to see support for a tree tab structure, similar to that of tree-style-tab for Firefox. Preliminarily, I could see a horizontal tab tree working as follows:

the tab bar shows the current tab as well as all of its siblings, side-by-side
a key combination can be used to move up and down the tree, e.g. ctrl-up & ctrl-down
when cmd-shift-e is pressed, the current tab and its siblings stay in their positions, but an additional tab bar containing all the children of the current tab appears below. These children should update based on which tab is currently selected. Moving up in the tab tree selects the current tab's parent, and the tab bar now displays the parent and all of its siblings.

A vertical tab bar would also be useful, but is somewhat less so on normal 16:9 screens, especially considering that many sites are optimized for this aspect ratio. I'm quite busy with classes this semester, but I would love to contribute to min in some way when time allows. Maybe I'll start trying to tackle tree tabs.
I didn't want to clutter up the text of this issue, but I want to say how impressed I am with this project. I am astounded by the sheer number of commits you have made, especially considering that you are working alone. I use DuckDuckGo on all of my machines, and the tight integration between DDG and min is ridiculously awesome. This project deserves so many more stars, and I'm definitely going to tell my friends about it. Keep up the great work, and I'll definitely keep an eye on how min is progressing!

What’s the main benefit of tree-style tabs? I don’t use them myself so I’m wondering:

Are they useful as a visual thing, where you can quickly see how your tabs are related?
Or is the benefit that it makes navigating around the tabstrip using keyboard shortcuts easier?

I'm wondering if this is something that should be built into expanded tab mode, rather than the regular tabstrip. It seems like it would be difficult to keep the regular tabstrip simple, while also making it work with large trees of tabs.

I often have hundreds of tabs open, organized into separate windows by project. I find that I can't really have any more than 20 or so tabs in a window before it becomes impossible to both read the tab titles and navigate to different tabs. A vertical tab bar solves the first problem because each tab takes up much less vertical space than horizontal. A tree structure solves the second problem, because it allows me to group tabs in ways that make sense to me.
For example, one of my windows currently has around 100 tabs, but only ~20 top-level tabs. The tabs are all distinct from each other but have related tabs as children. E.g. one is the MDN reference for RegExp, and its children are several other tabs about regexes. Another is the reference for the SVG coordinate system. Its children are various other SVG references and other similar tabs.
But yeah, I think it would do best in just expanded tab mode. The regular tabstrip can just show the current tab and its siblings, as usual.

Have you tried Firefox's tab groups feature?
It sounds like multiple levels of nesting aren't important (are they?).
If that's true, Min could have something like tab groups. Expanded tab mode could show all the groups, and the tab bar would only show the tabs in the current group (like Firefox). The expanded tab mode would also have a button to create a new group, and would allow dragging tabs between groups, dragging a tab into a new group, etc. To use your example, you could have a group with all the regex-related tabs, and a group with all of the SVG-related tabs.
Benefits:

Unlike a true tree-style system, it doesn't interrupt the normal tab mode - if you never open expanded mode, tabs will work just like they currently do.
Easier to visualize than tree-style tabs.

The downside would be that there can only be one level of tab nesting.
The expanded tab mode UI could work in a couple of different ways:

Tiles for each tab (like the current expanded mode). Each tab set would take up the full width of the screen, and expand to 3-5 rows vertically before scrolling horizontally.
Tab groups would be arranged in columns, like a vertical tab list.

I've started working on this in the tasks-overlay branch.
The regular tabstrip only shows tabs for the current task. I've moved expanded tab mode into an overlay, which shows all open tasks, and also allows you to name tasks, delete tasks, etc.
I would love some feedback on this. How well does this work? What could be improved about it?
There is a binary for OS X here: https://github.com/PalmerAL/min/releases/download/v1.1.0-alpha1/Min-v1.1.0-alpha1.zip. Let me know if you would like Windows or Linux binaries to test as well.

Hey, I just downloaded the new release, it looks great! Sorry I took so long to respond, the notification email seems to have fallen through the cracks.
I used Firefox's tab groups for a while, but they removed it as of FF45, or somewhere around there. As for the tree layout, what I was thinking of wouldn't disrupt normal usage either. It would function similarly to how you have it now, except that each task could contain subtasks. Either way, only the top-level tabs of the current task would show up in the tab bar. As for whether it's actually needed, I'm going to start using Min regularly and see if I miss a true tree.
My preliminary thought is that a tree is useful for having grouped tabs inside of tasks, e.g. you could have a "SVG reference" task with several general tabs, as well as sub-trees for SVG elements and SVG styling, which each have tabs related to those specific topics. For people who don't use this feature, nothing should change in terms of usage or visualization.
I use Arch on my desktop machine, but if it's as easy "npm install && grunt" then I won't ask you to compile a binary. Again, sorry about the lateness, I'm still pretty busy but I'll definitely test it out and give some feedback.

Just had to add this: holy crap, Min is polished. I am in awe of the work you've put into it, it honestly feels like an app made by a much larger team.

@D1SC0tech What do you think? This branch includes some pretty major changes to the data model, so I'd like to decide whether to merge this or not. Its difficult to change a lot of parts of the browser without creating merge conflicts.

I'd say merge. I've been using Min for non-critical things for the past couple of weeks, and the Tasks model works really well.

repo: PalmerAL/min


text:
🛑 Pandaily is down

In 3858174, Pandaily (https://pandaily.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pandaily is back up in a747135.

repo: PandaDaily/uptime


text:
Add User-Agent to headers.

Fixes https://github.com/PandaWhisperer/meteor-accounts-reddit/issues/5

Thanks for the fix, @albertstartup.

no problem

Hey @PandaWhisperer thanks for this package, and @albertstartup for the fix.
@PandaWhisperer could you make a new tag including this change? meteor-accounts-reddit is istill using 0.0.6, which doesn't have this fix yet.

plz

authors: PandaWhisperer albertstartup bearcott davidmh

repo: PandaWhisperer/meteor-reddit-oauth


text:
Offer price for NFT which are not put for sale

People can offer price to buy the NFT if NFT is minted and not put for sale..
By doing so, NFT owner can also get to know what price people wants to buy their NFT

Discussion required in terms of implementation.

repo: Pandora-Finance/Modular-contract


text:
去除上传到公网

您好，我看到您们生成的结果会上传到dpaste.com，请问只保存在服务器，这个在哪里去除呢？谢谢

fixed `python main.py config_init --name NAME --publish false


text:
fix: improve line highlighting contrast, light mode code blocks

An example is visible on the Paper/Development/Entity API/Display Entities page.

I'm not entirely sure I like the light theme code blocks, need to have another look another time

repo: PaperMC/docs


text:
How to set up Parse Backend

Hello,
I am using parse for my small personal application. Now just news came out about Parse is going to stop services after one year and as Parse SDK is open source now. Is there any way to set up backend by ourselves now. If yes then is there any guidelines available to start with ? I have a phonegap app in which i sends push notification from .net. If i want to use direct SDK from here without Parse service. Is that possible ?

Hi @sankp,
You will want to check out our open-sourced Parse Server here: https://github.com/ParsePlatform/parse-server. The server is compatible with our SDKs (including Parse .NET SDK). The only thing to do from the SDK side is to change the Configuration.Server (https://github.com/ParsePlatform/Parse-SDK-dotNET/blob/master/Parse/Public/ParseClient.cs#L129) into your own hosted Parse Server.
Further question can be asked in Parse Server repo.
Hope it helps!

authors: hallucinogen sankp

repo: ParsePlatform/Parse-SDK-dotNET


text:
Deploy with tutum (docker)

I made this new pull with an automated build of parse-server-example as you can see it here. Indeed it's better than a manual build ...
Dockerfile is better with explicit environment variables
Readme has now a Tutum deployment button linked with his tutum.yml
Package.json express and parse dependencies are unnecessary there are in already in "parse-server": "~2.0"

Can you rebase and squash this?

I made this to get it running instantly https://github.com/didierfranc/parse-docker

How do you keep it up to date?

It's based on the latest npm version of parse-server and parse-dashboard and the docker image is build on every Github pull.

That's good then :) I guess we can close this.

authors: didierfranc gfosco

repo: ParsePlatform/parse-server-example


text:
add contributor/community guidelines on parsl/parsl/readme and elsewhere

I think we should add some contributing guidelines to the readme, perhaps summarizing and pointing to a new section in https://parsl.readthedocs.io/en/latest/index.html
Basically, that we welcome contributions, maybe pointing to the roadmap for some ideas of things we know we want, how contributions should be made (PRs), code style, etc.  Also explaining how to get support, which might be copied from http://parsl-project.org/support
And http://parsl-project.org/support should have the contributor part updated to more than just "follow the project on GitHub"

@kylechard addressed the README part in https://github.com/Parsl/parsl/commit/b51121450a0de0294251a383e3e23c6d00c3f471
We still need address the checklist items two comments above.

repo: Parsl/parsl


text:
Investigate the option of providing a HTML based leaderboard conference branded

Conferences usually show something on room screens between sessions, this is usually some html content branded. We could provide a branded HTML leaderboard that the conference can project on room screens between sessions/talks.

As @adamralph pointed out a web UI already exists on this branch https://github.com/Particular/HashBus/tree/gh-pages
It's not branded, but could easily be made so. It also need some general tidy up, and probably just needs to do display just one leader board at a time, rotating through the most interesting ones, just like https://github.com/Particular/HashBus/tree/master/src/HashBus.Viewer.Multiple

repo: Particular/HashBus


text:
Add Branch Normalisation when calling /output json

As discussed in this closed PR: https://github.com/Particular/GitVersion/pull/271
I believe that it would make sense to allow the ability to perform branch normalisation when calling GitVersion with /output json.  Currently, within my psake script, I have to call GitVersion twice, once with /output buildserver to perform the branch normalisation, and set the build number, and then again with /output json so I can get the GitVersion variables to use later within my psake script.
I believe that allowing something like:
/output json /normalisebranches
would be a great additional switch to add to GitVersion to prevent the need to call it twice.
If this flag addition is not liked, then I believe that at the very least, when calling /output buildserver the json output should also be included, so that the variables can be parsed and used.

Has there been any progress on this?

Has there been any progress on this?

To the best of my knowledge, no.
GitVersion is currently under-going a fairly major refactor at the moment to allow it to better handle different versioning strategies and support for both CI and CD usages.  This will see  GitVersion bumped to a new major version.  Once this work is complete, we should be in a position to tackle this.

ok, so the work is done.
What needs to be done to fix this issue? Does someone want to submit a PR to the release/3.0.0 branch to enable normalisation by default.
Should it even be opt in? We need to do it by default most of the time right?

@gep13 can you check this against master.
We will only perform normalisation if running on a build server, but the original issue of it not running if the output was json should be fixed.
If we need to normalise for builds not on the build server then lets create a new issue.

@JakeGinnivan so I am confused...
If I run:
/output json

Does branch normalisation happen or not?

It will on the build server..
/output buildserver is misleading.. It basically allows gitversion to output variables etc to the build server. We always detect if running on the build server though and normalise

Oh really, that part I didn't know.  I thought the inspection for whether running on a CI Server only happened with that flag was passed in.
Good to know!  In which case, I will give this a try when I get a minute (on a new project that isn't using TeamCity just now, but will get back to it sooner, rather than later).

For reference, new logic is much easier to follow:
https://github.com/ParticularLabs/GitVersion/blob/master/GitVersionCore/ExecuteCore.cs#L13
https://github.com/ParticularLabs/GitVersion/blob/master/GitVersionCore/GitPreparer.cs#L34

Noice! :+1:

authors: JakeGinnivan gep13 pvandervelde

repo: ParticularLabs/GitVersion


text:
A few requests

Are you still alive, mate?
Anyway, I have a few requests, you might wanna waste some time on.
Smaller https://8ch.net/boards.html
Like decrease it to top 50 or 100 somehow, so it doesn't have to load everything, until you click on something. it would be great.
And the second harder part - an actually useful thread watcher. To show that there are new comments and possible even alert you when someone replies to you.
And last, but not least, the sign for new posts on the tab, it would good if it becomes red or something when there is a new post that is a reply to yours.
Thanks, if you are still trying to support this shit.

I'm working on a thread watcher on my fork. There are still some problems I'm working out but right now it's reasonably functional if you want to check it out.


text:
Fullscreen and window movement checks

Will display pop ups when the window has moved or changed size when projecting compared to the window size/location when calibrated.

@hluedeke @sashasewist If you two have the time, could you please look at this preview? I've added checks whenever there is a screen size or movement when calibrating. I'm really not sure about the wording of the popups and would love input on those. I think these checks should be sufficient for making sure people have accurate scale. Thoughts?

repo: Pattern-Projector/pattern-projector


text:
Feature request: would be nice for a ThreadJob to be able to clean itself up

I want to launch a “background” task as a ThreadJob, as part of a larger script. The script will likely finish before the job, and it’s okay if the user exits PowerShell before the job finishes. I don’t mind if the user can see it (via Get-Job) while it’s running, but it would be nice to automagically clean it up when it finishes. But I can’t find a way for it to remove itself… it seems the job is invisible to itself. It would be nice if this could be supported somehow (perhaps an -AutoRemoveJob option?).
Thanks!

@jazzdelightsme you can set a Register-ObjectEvent on the job completed trigger to remove it.

authors: JustinGrote jazzdelightsme

repo: PaulHigin/PSThreadJob


text:
test PR with Github API

Please pull this in!

Docs Build status updates of commit 4a2e544:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

node-azure-tools.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

repo: Peachying/testinlineedit


text:
feat(verifyProfileCompleted) : ajout d'une nouvelle fonctionnalité

ajout d'une nouvelle fonctionnalité qui vérifie que le profil soit complété pour accéder au reste de l'application.

wrong branch to merge


text:
Attestation inclusion is slow on Medalla

Description
As a staker, I want my attestations included quickly so that I make maximum reward.
beaconcha.in has implemented an Attestation Effectiveness metric based on this model. This surfaces the detailed analysis of rewards and penalties I did on Altona.
Where identifiable, Prysm and Lighthouse validators seem to be consistently in the 80-90% effective range, whereas Teku validators are consistently around 40-50%. This appears to be solely due to delays in getting attestations included, not due to missing attestations.
Example. Click Attestations to see the inclusion distance (0 distance means in the slot immediately after the block).
Acceptance Criteria

Attestation effectiveness at least as high as Prysm and Lighthouse

#2637 is likely to help improve the attestation inclusion rate.  Deployed to our validators and will watch to see the results.

#2637 did significantly improve things but #2661 really won't be helping this.

Last enhancement to put in was flood publishing which went in with #2717.  Attestation effectiveness is now looking really good and any further ideas on improving it can be done in their own tickets.

authors: ajsutton benjaminion

repo: PegaSysEng/teku


text:
Some files are aligned to right

os: Linux CentOS 3.10.0-1160.49.1.el7.x86_64
lsd --version: 0.22.0
echo $TERM: xterm-256color
echo $LS_COLORS: rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:.tar=38;5;9:.tgz=38;5;9:.arc=38;5;9:.arj=38;5;9:.taz=38;5;9:.lha=38;5;9:.lz4=38;5;9:.lzh=38;5;9:.lzma=38;5;9:.tlz=38;5;9:.txz=38;5;9:.tzo=38;5;9:.t7z=38;5;9:.zip=38;5;9:.z=38;5;9:.Z=38;5;9:.dz=38;5;9:.gz=38;5;9:.lrz=38;5;9:.lz=38;5;9:.lzo=38;5;9:.xz=38;5;9:.bz2=38;5;9:.bz=38;5;9:.tbz=38;5;9:.tbz2=38;5;9:.tz=38;5;9:.deb=38;5;9:.rpm=38;5;9:.jar=38;5;9:.war=38;5;9:.ear=38;5;9:.sar=38;5;9:.rar=38;5;9:.alz=38;5;9:.ace=38;5;9:.zoo=38;5;9:.cpio=38;5;9:.7z=38;5;9:.rz=38;5;9:.cab=38;5;9:.jpg=38;5;13:.jpeg=38;5;13:.gif=38;5;13:.bmp=38;5;13:.pbm=38;5;13:.pgm=38;5;13:.ppm=38;5;13:.tga=38;5;13:.xbm=38;5;13:.xpm=38;5;13:.tif=38;5;13:.tiff=38;5;13:.png=38;5;13:.svg=38;5;13:.svgz=38;5;13:.mng=38;5;13:.pcx=38;5;13:.mov=38;5;13:.mpg=38;5;13:.mpeg=38;5;13:.m2v=38;5;13:.mkv=38;5;13:.webm=38;5;13:.ogm=38;5;13:.mp4=38;5;13:.m4v=38;5;13:.mp4v=38;5;13:.vob=38;5;13:.qt=38;5;13:.nuv=38;5;13:.wmv=38;5;13:.asf=38;5;13:.rm=38;5;13:.rmvb=38;5;13:.flc=38;5;13:.avi=38;5;13:.fli=38;5;13:.flv=38;5;13:.gl=38;5;13:.dl=38;5;13:.xcf=38;5;13:.xwd=38;5;13:.yuv=38;5;13:.cgm=38;5;13:.emf=38;5;13:.axv=38;5;13:.anx=38;5;13:.ogv=38;5;13:.ogx=38;5;13:.aac=38;5;45:.au=38;5;45:.flac=38;5;45:.mid=38;5;45:.midi=38;5;45:.mka=38;5;45:.mp3=38;5;45:.mpc=38;5;45:.ogg=38;5;45:.ra=38;5;45:.wav=38;5;45:.axa=38;5;45:.oga=38;5;45:.spx=38;5;45:*.xspf=38;5;45:

Actual behavior
All the .R files are aligned to the right.

I can not reproduce by creating R files.
it should be something related to font or terminal, could you try to use a different font or terminal?

Hey, from the output of lsd at top, it looks like some other program that you ran before messed up the terminal and did not recover properly. This usually happens when when some TUI apps don't exit properly. Most TUI apps will put your terminal into raw mode and ideally they are supposed to revert it back when they exit. But for some reason, if the app crashes it may not reset the terminal back and you can end up in this situation. You can usually fix it by running reset.

Turns out it's mostly a font problem (no luck with reset). I'm using Meslo Nerd Font patched for Powerlevel10k, and I'll open an issue under that. Thanks.

authors: babaolanqiu meain zwpaper

repo: Peltoche/lsd


text:
Add "manual" clap alias for -A

This is requested as a feature, but because clap does not support
"short" aliases, we have to create another clap argument for this.
Not the best possible way to implement this (because the best way would
be to patch clap itself to allow short aliases) but the fastest one.

Closes #147

Here you go. Sorry, I was at work the whole day.


text:
Connecting to Enttec Open DMX

Hi, this is a great plugin, thanks!  I wondered if it may work with an Open DMX device?  I'm building a home automation system with Homebridge and need a link to DMX.  I was looking at an Arduino and DMX shield but this would be a much more elegant solution!!!
Thanks
Mark

I can’t say for sure but it looks like the device has a USB port on it so it might work. The device would need to be attached to the same computer running Homebridge.
-Dan
On Mar 9, 2023, at 4:21 AM, markkibble @.***> wrote:

Hi, this is a great plugin, thanks! I wondered if it may work with an Open DMX device? I'm building a home automation system with Homebridge and need a link to DMX. I was looking at an Arduino and DMX shield but this would be a much more elegant solution!!!
Thanks
Mark
—
Reply to this email directly, view it on GitHubhttps://github.com/PennazSoftware/homebridge-dmxlight-plugin/issues/6, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALGYIL4P7A7NZYTGUNYTVVTW3HDK3ANCNFSM6AAAAAAVVBJO7M.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Hi There again!
This plugin is really useful, thanks so much for coding it!
FYI Enttec Open DMX does not work, because it is not a full implementation of DMX and requires the PC/Raspberry to do some realtime refreshing work.
The good news for me is that I got it working with an Enttec Pro.  It works a treat with a RGB PAR can I have, address 001 with RGB on channels 1,2 & 3.  What I need help on please is how do I control a single DMX channel (for a single monochrome dimmer)?  I have a DMX 240v dimmer for traditional lights with 12 channels that run lights in my house, so I need just a single channel to control.  I have tried deleting   "colorOrder": "rgb" line but the default is Rob so it controls 3 channels.  Is there a command for that?  The command  "dmxChannelCount": 1,  does not limit control to a single channel as I expected.
To be clear I want to have light 1 on DMX channel 1, light 2 on DMX channel 2 etc...
Thanks so much for your help, I owe you a coffee!
Mark (in England)

Hi Dan, Happy New Year to you!
Sorry to chase but it would be great if you could take a quick look at this?  Rest of my home automation is great but I do need this to run a number of lights.  I would really appreciate it fixing.
Thanks
Mark

Hi Dan,  I see no one has been able to help with this plugin (as far as I can see).  Have you any time to have a go at fixing this issue so I can get on and test it?
Would really appreciate it if you could help.
Thanks
Mark

authors: PennazSoftware markkibble


text:
Improvements to /cards/, attempt 3

The only code differences between this and last time are that I changed decksite/sql/52.sql to no longer have a DROP TABLE. To be honest, I'm not entirely sure what failed about this branch last time that caused the migration to only partially work.
So I suggest that someone review this by backing up their local DB copy, then checking this out and applying the migration. If that works, then back up the decksite DB on prod and try merging it
The DB structural changes are to deck_card, making it so instead of the boolean column sideboard to tell whether the row is representing cards in the main or side, each row just has two values, n_main, n_side.
Also, the _cache_card table gains an additional two columns, num_deck_sideboard and num_deck_sideboard_tournament, thus the cards and person-cards preaggregation need to be reset.

You are totally right about the f:pd and historical formats. I was trying to do that as a cute optimization.

repo: PennyDreadfulMTG/Penny-Dreadful-Tools


text:
When call the httpGet(), the program is jam.

Sometimes the network is breakdown, and the customer track the driver, when run in HttpCommandInterface::httpGet(), and boost::asio::read_until() and boost::asio::read() will jam, and can't exit with CRTL+C.
We also can do like this: connect() to R2000, and sleep 5s, in this 5s run "ifdown" in terminal, have the same issue.
My suggestion is when the network have this problem , the R2000 driver throw the exception and return, maybe you can modify the driver?
Thank you!

There have quite a few changes in the past couple of months. Could you please pull in the master branch and try again?

I will close this for now. Feel free to open if you still face the issue.

authors: Heavydpan ipa-hsd


text:
Add ServicePort 'Name' field so SRV records are made

Before this change SRV records were not being made for the ServicePort.
After:
root@dns-client:/# dig _mongodb._tcp.my-cluster-name.psmdb.svc.cluster.local SRV

; <<>> DiG 9.9.5-9+deb8u16-Debian <<>> _mongodb._tcp.my-cluster-name.psmdb.svc.cluster.local SRV
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44675
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 4

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;_mongodb._tcp.my-cluster-name.psmdb.svc.cluster.local. IN SRV

;; ANSWER SECTION:
_mongodb._tcp.my-cluster-name.psmdb.svc.cluster.local. 5 IN SRV	0 33 27017 rs0-0.my-cluster-name.psmdb.svc.cluster.local.
_mongodb._tcp.my-cluster-name.psmdb.svc.cluster.local. 5 IN SRV	0 33 27017 rs0-1.my-cluster-name.psmdb.svc.cluster.local.
_mongodb._tcp.my-cluster-name.psmdb.svc.cluster.local. 5 IN SRV	0 33 27017 rs0-2.my-cluster-name.psmdb.svc.cluster.local.

;; ADDITIONAL SECTION:
rs0-1.my-cluster-name.psmdb.svc.cluster.local. 5 IN A 172.17.0.7
rs0-0.my-cluster-name.psmdb.svc.cluster.local. 5 IN A 172.17.0.6
rs0-2.my-cluster-name.psmdb.svc.cluster.local. 5 IN A 172.17.0.8

;; Query time: 10 msec
;; SERVER: 10.96.0.10#53(10.96.0.10)
;; WHEN: Tue Oct 30 14:52:55 UTC 2018
;; MSG SIZE  rcvd: 619

Codecov Report

Merging #16 into master will decrease coverage by 0.02%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master      #16      +/-   ##
==========================================
- Coverage   17.15%   17.12%   -0.03%
==========================================
  Files           7        7
  Lines         612      613       +1
==========================================
  Hits          105      105
- Misses        497      498       +1
  Partials       10       10

Impacted Files
Coverage Δ

pkg/stub/psmdb.go
20.4% <0%> (-0.14%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3f9befa...1443a7e. Read the comment docs.

authors: codecov-io timvaillancourt


text:
Porting to Swift 5

PerfectLib is ported to Swift 5 but this one is not. I can compile with a bunch of warnings. Apparently 100% of the warnings are related to unsafe pointers. Do you guy have plans to make this?

any news about this?

summoning @kjessup

repo: PerfectlySoft/Perfect-HTTPServer


text:
Nativescript 3.2.0 compilation error

When compiling the module throws an error, appears to be unable to find the TextValueAccessor class to extend.
node_modules/nativescript-masked-text-field/angular/index.d.ts(1,10): error TS2305: Module '"/nativescript-app/node_modules/nativescript-angular/index"' has no exported member 'TextValueAccessor'.

Hey @BenAtkinson-ss , can you please post your package.json and more precisely the version of nativescript-angular and @angular/*. From an experience with another plugin seems there were some changes for the upgrade to angular 4.4 so I suspect the problem here will be the same.

Thanks @PeterStaev, package.json attached, looks like the TextValueAccessor export can now be found in nativescript-angular/forms/value-accessors/text-value-accessor
{     "description": "Mobile App",     "license": "TBC",     "nativescript": {         "id": "nsmobile",         "tns-android": {             "version": "3.2.0"         },         "tns-ios": {             "version": "3.2.0"         }     },     "hooks": [         {             "type": "before-prepare",             "script": "environment-config.js"         }     ],     "dependencies": {         "@angular/animations": "~4.4.1",         "@angular/common": "~4.4.1",         "@angular/compiler": "~4.4.1",         "@angular/core": "~4.4.1",         "@angular/forms": "~4.4.1",         "@angular/http": "~4.4.1",         "@angular/platform-browser": "~4.4.1",         "@angular/router": "~4.4.1",         "base-64": "^0.1.0",         "moment": "^2.19.2",         "nativescript-angular": "~4.4.0",         "nativescript-cardview": "^2.0.4",         "nativescript-couchbase": "^1.0.18",         "nativescript-masked-text-field": "^1.0.2",         "nativescript-pro-ui": "^3.2.0",         "nativescript-theme-core": "~1.0.2",         "nativescript-unit-test-runner": "^0.3.4",         "reflect-metadata": "~0.1.8",         "rxjs": "~5.4.2",         "tns-core-modules": "~3.2.0",         "utf8": "^2.1.2",         "zone.js": "~0.8.2"     },     "devDependencies": {         "@types/chai": "^4.0.2",         "@types/couchbase": "^2.1.30",         "@types/mocha": "^2.2.43",         "@types/node": "^7.0.5",         "babel-traverse": "6.26.0",         "babel-types": "6.26.0",         "babylon": "6.18.0",         "chai": "^4.1.2",         "chai-as-promised": "~7.1.1",         "cross-env": "^5.1.0",         "husky": "^0.14.3",         "karma": "^1.7.1",         "karma-chai": "^0.1.0",         "karma-mocha": "^1.3.0",         "karma-nativescript-launcher": "^0.4.0",         "lazy": "1.0.11",         "lint-staged": "^4.3.0",         "mocha": "^4.0.1",         "mocha-junit-reporter": "^1.13.0",         "mocha-multi": "^0.11.0",         "nativescript-dev-appium": "^3.0.0",         "nativescript-dev-sass": "^1.3.2",         "nativescript-dev-typescript": "~0.5.0",         "prettier": "^1.7.4",         "rimraf": "^2.6.2",         "tslib": "^1.7.1",         "tslint": "^5.7.0",         "tslint-config-prettier": "^1.6.0",         "typescript": "~2.4.2"     } }

Can be the  "@types/node": "^7.0.5",    or all @types

authors: Ablankzin BenAtkinson-ss PeterStaev


text:
How to add my own image to generate

Hello big guy, the environment is set up and can only be generated with the default materials. I tried to search for a long time, but I couldn't find how to customize and add my own image to generate. After reading the previous question, custom addition was not supported before, is it not supported now?

Hi, customizing your own image is not supported now. Next, I will give priority to supporting this feature.

Thank you, boss. Hope to support as soon as possible!

Hi, I saw a directory called cips3d_inversion. I believe it is for the related issue. Is it fully updated or is in progress for now? Thank you.

Hi, I saw a directory called cips3d_inversion. I believe it is for the related issue. Is it fully updated or is in progress for now? Thank you.

This feature is nearly complete and will be open-sourced in the near future. Stay tuned.

any updates?

authors: PeterouZh basitanees shangdibufashi theoldsong


text:
Delete is not Deleting

As I am basing everything off of your wiki tutorials, I am trying to delete a node.
https://github.com/sfxworks/FirebaseREST/blob/master/src/net/sfxworks/firebaseREST/Database.as
using the deleteNode method, I pass in my node URL (path/to/node) and it adds the .json and auth at the end of the URL. I get a null response yet the node is not deleted. What is happening?

This is strange, does it happen with and without auth?
As far as I know when you get the 'null' response, that means the node was successfully deleted.

I'm baffled. It wants to work today apparently.

authors: agentphantom sfxworks


text:
Add the option to sort comments by "best"

To combat the problem of the oldest comments on a post typically having the highest score, because they are upvoted first and then remain at the top for more people to see, implement a "best" comment sort which weights comment scores by the number of viewers, along the lines of the method described in How Not To Sort By Average Rating.
That scoring formula works by comparing positive ratings to total ratings.  Reddit uses the sum of upvotes and downvotes for total ratings, but that would not work well for any of the throat instances that I know of, because too many comments have zero downvotes.  To get a number for total ratings, add a SubPostCommentView model to keep track of which users have seen which comments, and add a route and some JavaScript to add rows to the table whenever a comment is shown to a user in a context where that user can vote on a comment (the single-post view of a non-archived post, and in user notifications).  Cache the number of views for each comment, and the calculated best score for each comment in the SubPostComment table.
Since "best" scores cannot be calculated by this method for comments without view counts, do not include the "best" sort option for posts made before the SubPostCommentView table is created.  Older posts will default to "top" sort, and newer posts will default to "best" sort. Older posts made sticky by mods will have the option of toggling "top" and "new" sort, and newer sticky posts will have a "best"/"new" toggle.
The SubPostCommentView table could also be used in the future to highlight new/unread comments when a user views a post for the second or later time.  Since I'm estimating that our large instance could accumulate as many as 250,000 rows in this table each day, we will probably want to limit that functionality to non-archived posts, and are planning on deploying a separate task to periodically delete SubPostCommentView records from comments on archived posts.

I fixed the merge conflicts and added a pid field to SubPostCommentView to simplify the query needed to delete old views.  In the process I noticed that the migration rollback was not deleting the best_comment_sort_init entry from SiteMetadata so if you used and rolled back the migration in the previous version of this PR, you should either remove that row from SiteMetadata manually or run  the migration in this PR, roll it back, and then run it again.

repo: Phuks-co/throat


text:
🛑 Homepage is down

In bf1df3e, Homepage (https://www.phyrone.de/) was down:

HTTP code: 404
Response time: 466 ms

Resolved: Homepage is back up in 5c25e48.


text:
Passing objects from Rust to the script should be easier

Hi. I'm currently working on a little tool that uses Dyon as a scripting engine. I have an existing Rust object that needs to be passed to the script. This is what I came up with to add a current object to main:
    let current_name: Arc<String> = Arc::new("some_thing".into());
    match module.find_function(&Arc::new("main".into()), 0) {
        FnIndex::Loaded(i) => module.functions[i as usize].currents.push(Current {
            name: current_name.clone(),
            source_range: Range::empty(0),
            mutable: false,
        }),
        x => panic!("Weird main function: {:?}", x),
    }
    let mut rt = Runtime::new();
    rt.local_stack.push((current_name.clone(), rt.stack.len()));
    rt.current_stack.push((current_name, rt.stack.len()));
    rt.stack.push(Variable::RustObject(Arc::new(Mutex::new(my_object_thingy)) as RustObject));

Would be nice to have an easier method to do this. Without importing range, pushing to three runtime stacks, explicitly finding main…
UPDATE: published the initial commit of the project! This thing has been extracted into a macro there. Would be nice to see macros like these in dyon itself…

While on this topic of the difficulty locating and invoking arbitrary functions, is it at all possible in Dyon to do this sort of thing to a non-main function? I'm looking for some functionality like Dyon-based event handlers where I can invoke particular functions by name, passing in current state data. Will move this question to another issue if I'm too off-topic.

Yeah I'm interested in that too, for other projects… :)
I think you should be able to add current objects to any function using this code. But I haven't looked into invoking an arbitrary function.
Also, would be nice to be able to register arbitrary event handlers from main, including closures, not just named functions.
I'm surprised there wasn't much work in this direction, this is a very common use case for any embeddable scripting interpreter…

So, this is a naive solution:
let mut module = Module::new();
error(load_str(&*asset.name, Arc::new(asset.source.clone()), &mut module));
error(self.host.call_str("init", &[], &Arc::new(module.clone())));

Notice that it is possible to use the current library.

@bvssvni: perhaps I'm misunderstanding its application but how would that library interact with a Dyon script I am executing from my Rust code? It would seem that what that library does is essentially create global values which, while acceptable in a scripting language, seems like terribly bad form for Rust. It also claims to be "safe" but I'm unsure in what sense this is meant, since every example of its use references unsafe code.

I see there's a Call thingy now! :) but it doesn't support currents, only arguments

You can you do this:
fn main(a: any) {
    ~ a := a // Set current object.
    ...
}

main is written by the user, my API is that they get currents from my Rust code

OK. Perhaps we could add some features to Call to make it support current objects?

Exactly, that's precisely what I want

Do you want to try designing this thing?

authors: bvssvni dkushner myfreeweb

repo: PistonDevelopers/dyon


text:
Make a transparent image?

I'm trying to open an image, make it partially transparent, and then copy it to a solid background.
I'm loading the image using load_from_memory, which gets me a DynamicImage (of the ImageRgb8 variant, as far as I can tell). I'm getting a solid image with ImageBuffer::from_pixel, and then making a DynamicImage from that.
Here's how I'm trying to make the image transparent:
if let Some(alpha) = bg.alpha {
    image = DynamicImage::ImageRgba8(image.to_rgba());
    for pixel in image.as_mut_rgba8().unwrap().pixels_mut() {
        pixel.apply_with_alpha(
            (|i| i),
            (|_| alpha),
        );
    }
}

So, here are some of the problems I'm having:

I don't know the difference between apply_with_alpha and map_with_alpha. The docs aren't very clear
The closures need to return a u8, but I'm not sure about what's done with them. Does this value become the new value of the that channel? Are the two values multiplied? I can only guess

Edit:
Now trying
image = DynamicImage::ImageRgba8(image.to_rgba());
if let Some(alpha) = bg.alpha {
    for pixel in image.as_mut_rgba8().unwrap().pixels_mut() {
        pixel[3] = (alpha as f32 * 255f32) as u8;
    }
}

This seems to be working partially, but the image isn't being blended with the background. Rather, it seems to be replacing the section of the image that it's copied to.

Regarding the difference between map and apply, the docs are pretty clear. apply works in-place while map produces a copy. Have a look at the signature. Regarding the blending, probably you want to use blend?

authors: nwin sector-f

repo: PistonDevelopers/image