You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tvm.apache.org by Jared Roesch <no...@github.com> on 2020/09/10 05:33:52 UTC

[apache/incubator-tvm] [RFC][Formatting] Apply black to entire Python code base. (#6437)

As per the recent RFC https://discuss.tvm.apache.org/t/rfc-introduce-automatic-formatting-of-python-code/7843/10.
You can view, comment on, or merge this pull request online at:

  https://github.com/apache/incubator-tvm/pull/6437

-- Commit Summary --

  * Add CI boilerplate for black
  * Work on black formatting script
  * Lint iterations
  * Apply black to entire code base

-- File Changes --

    M apps/android_camera/models/prepare_model.py (86)
    M apps/android_rpc/tests/android_rpc_test.py (20)
    M apps/benchmark/arm_cpu_imagenet_bench.py (68)
    M apps/benchmark/gpu_imagenet_bench.py (83)
    M apps/benchmark/mobile_gpu_imagenet_bench.py (62)
    M apps/benchmark/util.py (47)
    M apps/bundle_deploy/build_model.py (97)
    M apps/dso_plugin_module/test_plugin_module.py (3)
    M apps/extension/python/tvm_ext/__init__.py (9)
    M apps/extension/tests/test_ext.py (41)
    M apps/howto_deploy/prepare_test_libs.py (6)
    M apps/howto_deploy/python_deploy.py (41)
    M apps/ios_rpc/init_proj.py (34)
    M apps/ios_rpc/tests/ios_rpc_mobilenet.py (78)
    M apps/ios_rpc/tests/ios_rpc_test.py (30)
    M apps/lldb/tvm.py (6)
    M apps/sgx/read_results.py (6)
    M apps/sgx/src/build_model.py (16)
    M apps/tf_tvmdsoop/tests/test_tfop_module.py (24)
    M apps/topi_recipe/broadcast/test_broadcast_map.py (23)
    M apps/topi_recipe/conv/depthwise_conv2d_test.py (191)
    M apps/topi_recipe/conv/test_conv2d_hwcn_map.py (23)
    M apps/topi_recipe/conv/test_conv_int8_arm.py (230)
    M apps/topi_recipe/conv/test_conv_int8_intel.py (215)
    M apps/topi_recipe/gemm/android_gemm_square.py (30)
    M apps/topi_recipe/gemm/cuda_gemm_square.py (41)
    M apps/topi_recipe/gemm/gemm_int8.py (124)
    M apps/topi_recipe/reduce/test_reduce_map.py (53)
    M apps/topi_recipe/rnn/lstm.py (86)
    M apps/topi_recipe/rnn/matexp.py (46)
    M apps/wasm-standalone/wasm-graph/tools/build_graph_lib.py (31)
    M conda/render_cuda.py (25)
    M conftest.py (9)
    M docs/conf.py (151)
    M golang/sample/deploy.py (8)
    M golang/sample/gen_mobilenet_lib.py (32)
    M jvm/core/src/test/scripts/test_add_cpu.py (12)
    M jvm/core/src/test/scripts/test_add_gpu.py (12)
    M jvm/core/src/test/scripts/test_graph_runtime.py (42)
    M jvm/core/src/test/scripts/test_rpc_proxy_server.py (6)
    M nnvm/amalgamation/amalgamation.py (87)
    M nnvm/amalgamation/generate.py (5)
    A pyproject.toml (30)
    M python/setup.py (128)
    M python/tvm/__init__.py (2)
    M python/tvm/_ffi/_ctypes/ndarray.py (22)
    M python/tvm/_ffi/_ctypes/object.py (11)
    M python/tvm/_ffi/_ctypes/packed_func.py (70)
    M python/tvm/_ffi/_ctypes/types.py (29)
    M python/tvm/_ffi/_pyversion.py (4)
    M python/tvm/_ffi/base.py (25)
    M python/tvm/_ffi/libinfo.py (95)
    M python/tvm/_ffi/registry.py (41)
    M python/tvm/_ffi/runtime_ctypes.py (189)
    M python/tvm/arith/analyzer.py (15)
    M python/tvm/arith/int_set.py (5)
    M python/tvm/arith/int_solver.py (25)
    M python/tvm/arith/pattern.py (2)
    M python/tvm/auto_scheduler/__init__.py (22)
    M python/tvm/auto_scheduler/auto_schedule.py (81)
    M python/tvm/auto_scheduler/compute_dag.py (34)
    M python/tvm/auto_scheduler/cost_model/cost_model.py (8)
    M python/tvm/auto_scheduler/cost_model/xgb_model.py (190)
    M python/tvm/auto_scheduler/feature.py (57)
    M python/tvm/auto_scheduler/loop_state.py (163)
    M python/tvm/auto_scheduler/measure.py (351)
    M python/tvm/auto_scheduler/measure_record.py (12)
    M python/tvm/auto_scheduler/search_policy.py (59)
    M python/tvm/auto_scheduler/utils.py (23)
    M python/tvm/auto_scheduler/workload_registry.py (38)
    M python/tvm/autotvm/__init__.py (28)
    M python/tvm/autotvm/database.py (23)
    M python/tvm/autotvm/env.py (2)
    M python/tvm/autotvm/feature.py (37)
    M python/tvm/autotvm/graph_tuner/base_graph_tuner.py (200)
    M python/tvm/autotvm/graph_tuner/dynamic_programming_stage.py (100)
    M python/tvm/autotvm/graph_tuner/dynamic_programming_tuner.py (76)
    M python/tvm/autotvm/graph_tuner/pbqp_tuner.py (95)
    M python/tvm/autotvm/graph_tuner/utils/__init__.py (3)
    M python/tvm/autotvm/graph_tuner/utils/traverse_graph.py (67)
    M python/tvm/autotvm/graph_tuner/utils/utils.py (44)
    M python/tvm/autotvm/measure/__init__.py (9)
    M python/tvm/autotvm/measure/executor.py (4)
    M python/tvm/autotvm/measure/local_executor.py (16)
    M python/tvm/autotvm/measure/measure.py (42)
    M python/tvm/autotvm/measure/measure_methods.py (316)
    M python/tvm/autotvm/record.py (120)
    M python/tvm/autotvm/task/__init__.py (29)
    M python/tvm/autotvm/task/code_hash.py (12)
    M python/tvm/autotvm/task/dispatcher.py (31)
    M python/tvm/autotvm/task/relay_integration.py (33)
    M python/tvm/autotvm/task/space.py (321)
    M python/tvm/autotvm/task/task.py (122)
    M python/tvm/autotvm/task/topi_integration.py (36)
    M python/tvm/autotvm/tophub.py (52)
    M python/tvm/autotvm/tuner/callback.py (47)
    M python/tvm/autotvm/tuner/ga_tuner.py (13)
    M python/tvm/autotvm/tuner/index_based_tuner.py (8)
    M python/tvm/autotvm/tuner/metric.py (15)
    M python/tvm/autotvm/tuner/model_based_tuner.py (39)
    M python/tvm/autotvm/tuner/sa_model_optimizer.py (54)
    M python/tvm/autotvm/tuner/tuner.py (30)
    M python/tvm/autotvm/tuner/xgboost_cost_model.py (272)
    M python/tvm/autotvm/tuner/xgboost_tuner.py (43)
    M python/tvm/autotvm/util.py (14)
    M python/tvm/contrib/binutil.py (64)
    M python/tvm/contrib/cblas.py (4)
    M python/tvm/contrib/cc.py (70)
    M python/tvm/contrib/clang.py (11)
    M python/tvm/contrib/coreml_runtime.py (1)
    M python/tvm/contrib/cublas.py (21)
    M python/tvm/contrib/cublaslt.py (10)
    M python/tvm/contrib/cudnn.py (224)
    M python/tvm/contrib/debugger/debug_result.py (134)
    M python/tvm/contrib/debugger/debug_runtime.py (3)
    M python/tvm/contrib/dlpack.py (11)
    M python/tvm/contrib/download.py (32)
    M python/tvm/contrib/emcc.py (12)
    M python/tvm/contrib/graph_runtime.py (16)
    M python/tvm/contrib/hexagon.py (148)
    M python/tvm/contrib/miopen.py (74)
    M python/tvm/contrib/mkl.py (6)
    M python/tvm/contrib/mkldnn.py (2)
    M python/tvm/contrib/mps.py (24)
    M python/tvm/contrib/mxnet.py (10)
    M python/tvm/contrib/ndk.py (23)
    M python/tvm/contrib/nnpack.py (97)
    M python/tvm/contrib/nvcc.py (29)
    M python/tvm/contrib/peak.py (130)
    M python/tvm/contrib/pickle_memoize.py (5)
    M python/tvm/contrib/random.py (34)
    M python/tvm/contrib/rocblas.py (9)
    M python/tvm/contrib/rocm.py (19)
    M python/tvm/contrib/rpc.py (12)
    M python/tvm/contrib/sdaccel.py (40)
    M python/tvm/contrib/sparse.py (60)
    M python/tvm/contrib/spirv.py (6)
    M python/tvm/contrib/tar.py (10)
    M python/tvm/contrib/target/coreml.py (122)
    M python/tvm/contrib/target/onnx.py (656)
    M python/tvm/contrib/tedd.py (631)
    M python/tvm/contrib/tf_op/module.py (20)
    M python/tvm/contrib/tflite_runtime.py (5)
    M python/tvm/contrib/util.py (21)
    M python/tvm/contrib/xcode.py (60)
    M python/tvm/driver/build_module.py (124)
    M python/tvm/driver/tvmc/common.py (1)
    M python/tvm/driver/tvmc/main.py (8)
    M python/tvm/error.py (9)
    M python/tvm/exec/autotvm_log_editor.py (15)
    M python/tvm/exec/measure_peak.py (20)
    M python/tvm/exec/query_rpc_tracker.py (10)
    M python/tvm/exec/rpc_proxy.py (72)
    M python/tvm/exec/rpc_server.py (143)
    M python/tvm/exec/rpc_tracker.py (46)
    M python/tvm/hybrid/parser.py (213)
    M python/tvm/hybrid/registry.py (75)
    M python/tvm/hybrid/scope_handler.py (4)
    M python/tvm/hybrid/special_stmt.py (73)
    M python/tvm/hybrid/ty.py (4)
    M python/tvm/hybrid/utils.py (4)
    M python/tvm/ir/__init__.py (10)
    M python/tvm/ir/_ffi_transform_api.py (1)
    M python/tvm/ir/adt.py (9)
    M python/tvm/ir/attrs.py (7)
    M python/tvm/ir/base.py (16)
    M python/tvm/ir/container.py (7)
    M python/tvm/ir/expr.py (20)
    M python/tvm/ir/function.py (11)
    M python/tvm/ir/json_compact.py (15)
    M python/tvm/ir/module.py (9)
    M python/tvm/ir/op.py (5)
    M python/tvm/ir/tensor_type.py (4)
    M python/tvm/ir/transform.py (55)
    M python/tvm/ir/type.py (38)
    M python/tvm/ir/type_relation.py (5)
    M python/tvm/micro/base.py (0)
    M python/tvm/micro/device/arm/stm32f746xx.py (0)
    M python/tvm/micro/device/base.py (0)
    M python/tvm/micro/device/host.py (0)
    M python/tvm/micro/device/riscv_spike.py (0)
    M python/tvm/micro/func_registry.py (0)
    M python/tvm/parser/__init__.py (0)
    M python/tvm/relay/adt.py (0)
    M python/tvm/relay/analysis/analysis.py (0)
    M python/tvm/relay/analysis/annotated_regions.py (0)
    M python/tvm/relay/analysis/feature.py (0)
    M python/tvm/relay/analysis/sparse_dense.py (0)
    M python/tvm/relay/backend/compile_engine.py (0)
    M python/tvm/relay/backend/graph_runtime_codegen.py (0)
    M python/tvm/relay/backend/graph_runtime_factory.py (0)
    M python/tvm/relay/backend/interpreter.py (0)
    M python/tvm/relay/backend/vm.py (0)
    M python/tvm/relay/base.py (0)
    M python/tvm/relay/build_module.py (0)
    M python/tvm/relay/data_dep_optimization/__init__.py (0)
    M python/tvm/relay/data_dep_optimization/bsr_dense.py (0)
    M python/tvm/relay/data_dep_optimization/simplify_fc_transpose.py (0)
    M python/tvm/relay/data_dep_optimization/utils.py (0)
    M python/tvm/relay/dataflow_pattern/__init__.py (0)
    M python/tvm/relay/debug.py (0)
    M python/tvm/relay/expr.py (0)
    M python/tvm/relay/expr_functor.py (0)
    M python/tvm/relay/frontend/caffe.py (0)
    M python/tvm/relay/frontend/caffe2.py (0)
    M python/tvm/relay/frontend/common.py (0)
    M python/tvm/relay/frontend/coreml.py (0)
    M python/tvm/relay/frontend/darknet.py (0)
    M python/tvm/relay/frontend/keras.py (0)
    M python/tvm/relay/frontend/mxnet.py (0)
    M python/tvm/relay/frontend/mxnet_qnn_op_utils.py (0)
    M python/tvm/relay/frontend/nnvm_common.py (0)
    M python/tvm/relay/frontend/onnx.py (0)
    M python/tvm/relay/frontend/pytorch.py (0)
    M python/tvm/relay/frontend/qnn_torch.py (0)
    M python/tvm/relay/frontend/tensorflow.py (0)
    M python/tvm/relay/frontend/tensorflow_parser.py (0)
    M python/tvm/relay/frontend/tflite.py (0)
    M python/tvm/relay/frontend/tflite_flexbuffer.py (0)
    M python/tvm/relay/function.py (0)
    M python/tvm/relay/loops.py (0)
    M python/tvm/relay/op/__init__.py (0)
    M python/tvm/relay/op/_algorithm.py (0)
    M python/tvm/relay/op/_reduce.py (0)
    M python/tvm/relay/op/_tensor.py (0)
    M python/tvm/relay/op/_tensor_grad.py (0)
    M python/tvm/relay/op/_transform.py (0)
    M python/tvm/relay/op/algorithm.py (0)
    M python/tvm/relay/op/annotation/annotation.py (0)
    M python/tvm/relay/op/contrib/arm_compute_lib.py (0)
    M python/tvm/relay/op/contrib/coreml.py (0)
    M python/tvm/relay/op/contrib/dnnl.py (0)
    M python/tvm/relay/op/contrib/ethosn.py (0)
    M python/tvm/relay/op/contrib/register.py (0)
    M python/tvm/relay/op/dyn/__init__.py (0)
    M python/tvm/relay/op/dyn/_algorithm.py (0)
    M python/tvm/relay/op/dyn/_tensor.py (0)
    M python/tvm/relay/op/dyn/_transform.py (0)
    M python/tvm/relay/op/dyn/image/_image.py (0)
    M python/tvm/relay/op/dyn/nn/_nn.py (0)
    M python/tvm/relay/op/image/_image.py (0)
    M python/tvm/relay/op/image/image.py (0)
    M python/tvm/relay/op/memory/memory.py (0)
    M python/tvm/relay/op/nn/_nn.py (0)
    M python/tvm/relay/op/nn/nn.py (0)
    M python/tvm/relay/op/nn/util.py (0)
    M python/tvm/relay/op/op.py (0)
    M python/tvm/relay/op/op_attrs.py (0)
    M python/tvm/relay/op/reduce.py (0)
    M python/tvm/relay/op/strategy/arm_cpu.py (0)
    M python/tvm/relay/op/strategy/bifrost.py (0)
    M python/tvm/relay/op/strategy/cuda.py (0)
    M python/tvm/relay/op/strategy/generic.py (0)
    M python/tvm/relay/op/strategy/hls.py (0)
    M python/tvm/relay/op/strategy/intel_graphics.py (0)
    M python/tvm/relay/op/strategy/mali.py (0)
    M python/tvm/relay/op/strategy/rocm.py (0)
    M python/tvm/relay/op/strategy/x86.py (0)
    M python/tvm/relay/op/tensor.py (0)
    M python/tvm/relay/op/transform.py (0)
    M python/tvm/relay/op/vision/_rcnn.py (0)
    M python/tvm/relay/op/vision/_vision.py (0)
    M python/tvm/relay/op/vision/_yolo.py (0)
    M python/tvm/relay/op/vision/multibox.py (0)
    M python/tvm/relay/op/vision/nms.py (0)
    M python/tvm/relay/op/vision/rcnn.py (0)
    M python/tvm/relay/op/vision/yolo.py (0)
    M python/tvm/relay/param_dict.py (0)
    M python/tvm/relay/prelude.py (0)
    M python/tvm/relay/qnn/op/layout_conversions.py (0)
    M python/tvm/relay/qnn/op/legalizations.py (0)
    M python/tvm/relay/qnn/op/op.py (0)
    M python/tvm/relay/qnn/op/qnn.py (0)
    M python/tvm/relay/qnn/transform.py (0)
    M python/tvm/relay/quantize/__init__.py (0)
    M python/tvm/relay/quantize/_annotate.py (0)
    M python/tvm/relay/quantize/_calibrate.py (0)
    M python/tvm/relay/quantize/_partition.py (0)
    M python/tvm/relay/quantize/_partition_conversions.py (0)
    M python/tvm/relay/quantize/_quantize.py (0)
    M python/tvm/relay/quantize/kl_divergence.py (0)
    M python/tvm/relay/quantize/quantize.py (0)
    M python/tvm/relay/scope_builder.py (0)
    M python/tvm/relay/testing/__init__.py (0)
    M python/tvm/relay/testing/darknet.py (0)
    M python/tvm/relay/testing/dcgan.py (0)
    M python/tvm/relay/testing/densenet.py (0)
    M python/tvm/relay/testing/dqn.py (0)
    M python/tvm/relay/testing/inception_v3.py (0)
    M python/tvm/relay/testing/init.py (0)
    M python/tvm/relay/testing/layers.py (0)
    M python/tvm/relay/testing/lstm.py (0)
    M python/tvm/relay/testing/mlp.py (0)
    M python/tvm/relay/testing/mobilenet.py (0)
    M python/tvm/relay/testing/nat.py (0)
    M python/tvm/relay/testing/py_converter.py (0)
    M python/tvm/relay/testing/resnet.py (0)
    M python/tvm/relay/testing/resnet_3d.py (0)
    M python/tvm/relay/testing/squeezenet.py (0)
    M python/tvm/relay/testing/temp_op_attr.py (0)

-- Patch Links --

https://github.com/apache/incubator-tvm/pull/6437.patch
https://github.com/apache/incubator-tvm/pull/6437.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6437

Re: [apache/incubator-tvm] [RFC][Formatting] Add scripts for applying Black to the Python code. (#6437)

Posted by Jared Roesch <no...@github.com>.
This is blocked on #6448 and #6451, once we land those two it should be possible to add the checking to the CI, format once more and land this. 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6437#issuecomment-690930637

Re: [apache/incubator-tvm] [RFC][Formatting] Add scripts for applying Black to the Python code. (#6437)

Posted by Jared Roesch <no...@github.com>.
I think I addressed all the comments, and bumped the CI. 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6437#issuecomment-691357110

Re: [apache/incubator-tvm] [RFC][Formatting] Apply black to entire Python code base. (#6437)

Posted by Jared Roesch <no...@github.com>.
@areusch @tqchen @comaniac I can rollback the formatting, the first 3 or 4 commits were focused on formatting then I went through the process to see if it would actually work. 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6437#issuecomment-690594159

Re: [apache/incubator-tvm] [RFC][Formatting] Apply black to entire Python code base. (#6437)

Posted by Junru Shao <no...@github.com>.
It is a bit hard to review 1000 files...maybe just take a look at the pyproject.toml file and assume other parts are correct?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6437#issuecomment-690520497

Re: [apache/incubator-tvm] [RFC][Formatting] Add scripts for applying Black to the Python code. (#6437)

Posted by Jared Roesch <no...@github.com>.
@tqchen recommended that we first format the entire code base using these settings then try to land the CI parts, going to open a second PR with the fully formatted repo. 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6437#issuecomment-690821576

Re: [apache/incubator-tvm] [RFC][Formatting] Apply black to entire Python code base. (#6437)

Posted by Jared Roesch <no...@github.com>.
cc @tqchen @areusch @comaniac @u99127 @jwfromm @mbrookhart @junrushao1994 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6437#issuecomment-689997944

Re: [apache/incubator-tvm] [RFC][Formatting] Add scripts for applying Black to the Python code. (#6437)

Posted by Jared Roesch <no...@github.com>.
@junrushao1994 @comaniac @areusch I just added the scripts and cleaned some things up, take another pass if you can 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6437#issuecomment-690676307

Re: [apache/incubator-tvm] [RFC][Formatting] Add scripts for applying Black to the Python code. (#6437)

Posted by Junru Shao <no...@github.com>.
There is some flakiness in the CI. Please retrigger and let's merge it in

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6437#issuecomment-691506743

Re: [apache/incubator-tvm] [RFC][Formatting] Add scripts for applying Black to the Python code. (#6437)

Posted by Tianqi Chen <no...@github.com>.
Merged #6437 into master.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6437#event-3760885214