profile
viewpoint
Lukas Geiger lgeiger @plumerai @larq London www.linkedin.com/in/lgeiger deep learning scientist | astroparticle physicist | software engineer

larq/larq 287

An Open-Source Library for Training Binarized Neural Networks

lgeiger/black-action 146

A GitHub action that runs black code formatter for Python

lgeiger/addons 0

Useful extra functionality for TensorFlow maintained by SIG-addons

lgeiger/altair 0

Declarative statistical visualization library for Python

lgeiger/angular 0

One framework. Mobile & desktop.

lgeiger/anser 0

:tv: A low level parser for ANSI sequences.

lgeiger/aperture.js 0

A library for screen recording

lgeiger/apm 0

Atom Package Manager

lgeiger/atom 0

The hackable text editor

lgeiger/atom-busy 0

:wavy_dash: A generic display and progress for things that take time

create barnchlarq/compute-engine

branch : bsign-separation

created branch time in 12 hours

Pull request review commentlarq/compute-engine

Support full int8 QAT models in converter

 def has_ext_modules(self):     packages=find_packages(),     ext_modules=ext_modules,     url="https://larq.dev/",-    install_requires=["packaging>=19"],+    install_requires=["flatbuffers>=1.12", "packaging>=19"],

If we're depending on it implicitly, why do we have to include it here?

Actually my comment here was wrong and the current stable versions of TensorFlow don't depend on flatbuffers yet.

Is there something special about >=1.12?

This is the version TensorFlow 2.4 will depend on, so I think it is nice to have the same version constraints.

lgeiger

comment created time in 16 hours

Pull request review commentlarq/compute-engine

Support full int8 QAT models in converter

+import copy++import flatbuffers+import tensorflow as tf++from larq_compute_engine.mlir.python import schema_py_generated as tflite_schema+++_MAP_TFLITE_ENUM_TO_TF_TYPES = {+    0: tf.float32,+    1: tf.float16,+    2: tf.int32,+    3: tf.uint8,+    4: tf.int64,+    5: tf.string,+    6: tf.bool,+    7: tf.int16,+    8: tf.complex64,+    9: tf.int8,+    10: tf.float64,+}++_TFLITE_FILE_IDENTIFIER = b"TFL3"+++def _convert_tflite_enum_type_to_tf_type(tflite_enum_type):+    """Converts tflite enum type (eg: 0) to tf type (eg: tf.float32)."""+    tf_type = _MAP_TFLITE_ENUM_TO_TF_TYPES.get(tflite_enum_type)+    if tf_type is None:+        raise ValueError(+            "Unsupported enum {}. The valid map of enum to tf.dtypes is : {}".format(+                tflite_enum_type, _MAP_TFLITE_ENUM_TO_TF_TYPES+            )+        )+    return tf_type+++def _convert_model_from_bytearray_to_object(model_bytearray):+    """Converts a tflite model from a bytearray into a parsable object."""+    model_object = tflite_schema.Model.GetRootAsModel(model_bytearray, 0)+    model_object = tflite_schema.ModelT.InitFromObj(model_object)+    model_object = copy.deepcopy(model_object)+    model_object.subgraphs[0].inputs[0] = model_object.subgraphs[0].inputs[0]+    return model_object+++def _convert_model_from_object_to_bytearray(model_object):+    """Converts a tflite model from a parsable object into a bytearray."""+    # Initial size of the buffer, which will grow automatically if needed+    builder = flatbuffers.Builder(1024)+    model_offset = model_object.Pack(builder)+    builder.Finish(model_offset, file_identifier=_TFLITE_FILE_IDENTIFIER)+    return bytes(builder.Output())+++def _remove_tensors_from_model(model, remove_tensors_idxs):+    """Remove tensors from model."""+    if not remove_tensors_idxs:+        return+    if len(model.subgraphs) > 1:+        raise ValueError(+            "Model must only have one subgraph. Instead, it has "+            "{} subgraphs.".format(len(model.subgraphs))+        )+    subgraph = model.subgraphs[0]+    tensors = subgraph.tensors+    operators = subgraph.operators++    # An optimized check to validate if "remove_tensors_idxs" (eg: [4,5,6]) is an+    # exact subset, with ordering, of "tensors" indices (eg: [0,1,2,3,4,5,6]).+    if min(remove_tensors_idxs) == len(tensors) - len(remove_tensors_idxs):+        del tensors[min(remove_tensors_idxs) :]+    else:+        # Map the old tensor indices to new tensor indices+        d_old_to_new_tensors = {}+        left_shift_by = 0+        for idx in range(len(tensors)):+            if idx in remove_tensors_idxs:+                left_shift_by += 1+            else:+                d_old_to_new_tensors[idx] = idx - left_shift_by+        # Update tensor indices referenced throughout the model+        def update_tensors(tensor_idxs):+            for i, ti in enumerate(tensor_idxs):+                tensor_idxs[i] = d_old_to_new_tensors.get(ti, -1)++        update_tensors(subgraph.inputs)+        update_tensors(subgraph.outputs)+        for op in operators:+            update_tensors(op.inputs)+            update_tensors(op.outputs)+        # Delete the tensors+        for idx in sorted(remove_tensors_idxs, reverse=True):+            tensors.pop(idx)+++def _find_int8_quantized_inputs_outputs(model):+    """Validate that model input is quantized and output is dequantized."""+    if len(model.subgraphs) > 1:+        raise ValueError(+            "Model must only have one subgraph. Instead, it has "+            "{} subgraphs.".format(len(model.subgraphs))+        )+    subgraph = model.subgraphs[0]+    tensors = subgraph.tensors+    operators = subgraph.operators++    # Ensure model has atleast one quantize and dequantize operator+    quant_opcode_idx, dequant_opcode_idx = None, None+    for idx, opcode in enumerate(model.operatorCodes):+        if opcode.builtinCode == tflite_schema.BuiltinOperator.QUANTIZE:+            quant_opcode_idx = idx+        elif opcode.builtinCode == tflite_schema.BuiltinOperator.DEQUANTIZE:+            dequant_opcode_idx = idx+        if quant_opcode_idx is not None and dequant_opcode_idx is not None:+            break+    if quant_opcode_idx is None and dequant_opcode_idx is None:+        raise ValueError(+            "Model is not integer quantized as it does not "+            "contain quantize/dequantize operators."+        )++    # Ensure model inputs and outputs are integer quantized+    input_quant_ops, output_dequant_ops = [], []+    for op in operators:+        # Find input quantize operator+        if op.opcodeIndex == quant_opcode_idx and op.inputs[0] in subgraph.inputs:+            pos, float_tensor, int_tensor = (+                "input",+                tensors[op.inputs[0]],+                tensors[op.outputs[0]],+            )+            input_quant_ops.append(op)+        # Find output dequantize operator+        elif op.opcodeIndex == dequant_opcode_idx and op.outputs[0] in subgraph.outputs:+            pos, float_tensor, int_tensor = (+                "output",+                tensors[op.outputs[0]],+                tensors[op.inputs[0]],+            )+            output_dequant_ops.append(op)+        # Otherwise, ignore+        else:+            continue+        # If found, validate the input/output tensor type+        if float_tensor.type != tflite_schema.TensorType.FLOAT32:+            raise ValueError(+                "Model {} type must be tf.float32. Expected type for tensor with "+                "name '{}' is tf.float32, instead type is tf.{}".format(+                    pos,+                    float_tensor.name,+                    _convert_tflite_enum_type_to_tf_type(float_tensor.type).name,+                )+            )+        if int_tensor.type != tflite_schema.TensorType.INT8:+            raise ValueError(+                "Model is not integer quantized. Expected type for tensor with "+                "name '{}' is tf.int8, instead type is tf.{}".format(+                    int_tensor.name,+                    _convert_tflite_enum_type_to_tf_type(int_tensor.type).name,+                )+            )++    return input_quant_ops, output_dequant_ops+++def modify_integer_quantized_model_io_type(+    model, inference_input_type=tf.float32, inference_output_type=tf.float32,+):+    """Modify the float input/output type of an integer quantized model."""+    # Convert the model to an object+    model = _convert_model_from_bytearray_to_object(model)++    # Validate the integer quantized model+    input_quant_ops, output_dequant_ops = _find_int8_quantized_inputs_outputs(model)++    subgraph = model.subgraphs[0]+    operators = subgraph.operators+    remove_tensors_idxs = set()++    # Modify model input type+    if inference_input_type == tf.int8:+        # Remove the inputs and the quant operator+        for op in input_quant_ops:+            subgraph.inputs[subgraph.inputs == op.inputs[0]] = op.outputs[0]+            remove_tensors_idxs.add(op.inputs[0])+            operators.remove(op)++    # Modify model output type+    if inference_output_type == tf.int8:+        # Remove the outputs and the dequant operator+        for op in output_dequant_ops:+            subgraph.outputs[subgraph.outputs == op.outputs[0]] = op.inputs[0]+            remove_tensors_idxs.add(op.outputs[0])+            operators.remove(op)++    # Remove tensors marked for deletion.+    _remove_tensors_from_model(model, remove_tensors_idxs)++    # Convert the model to a bytearray+    return _convert_model_from_object_to_bytearray(model)

I'm not sure if this logging line is relevant for us, since we only support tf.float32 and tf.int8 and don't have the complex handling of the different quantization code paths.

lgeiger

comment created time in 16 hours

Pull request review commentlarq/compute-engine

Support full int8 QAT models in converter

 def _contains_training_quant_op(graph_def): def convert_keras_model(     model: tf.keras.Model,     *,  # Require remaining arguments to be keyword-only.+    inference_input_type: tf.DType = tf.float32,+    inference_output_type: tf.DType = tf.float32,

I don't have a strong preference either, but I went for the inference_ prefix since TFLite does the same, but I'd be happy to just use input_type and output_type instead since we also don't adhere to the type conventione the TFLite converter uses here.

lgeiger

comment created time in 16 hours

push eventlarq/compute-engine

Adam Hillier

commit sha 06971dfe6e5d0f28bd6c4d1476aa56cd9b3ceb2c

Use a 32-column C++ kernel layout when writing bitpacked output. (#441) This is much cleaner than the previous solution (which rounded the rows up/down and so did duplicate computation), and fixes some failures in the 'big' kernel tests on Aarch64.

view details

Tom Bannink

commit sha 112eba000f9ebb7a8a204c01bfbba420f0f1f35b

Add `make_unsigned` to `unpack_matrix` type (#442)

view details

dependabot[bot]

commit sha 2c1dd7b2e718032ae921e6ce981da164553075f2

Bump GoogleCloudPlatform/github-actions from 0.1.2 to 0.1.3 (#444) Bumps [GoogleCloudPlatform/github-actions](https://github.com/GoogleCloudPlatform/github-actions) from 0.1.2 to 0.1.3. - [Release notes](https://github.com/GoogleCloudPlatform/github-actions/releases) - [Changelog](https://github.com/GoogleCloudPlatform/github-actions/blob/master/CHANGELOG.md) - [Commits](https://github.com/GoogleCloudPlatform/github-actions/compare/0.1.2...c788fe5c6df55186a318d149e7d051aea414a528) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

dependabot[bot]

commit sha 41b4bf63b39ac0ceb80d1e741819db6ee96d3d4c

Bump actions/upload-artifact from v2.1.1 to v2.1.2 (#448) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.1.1 to v2.1.2. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.1.1...c8879bf5aef7bef66f9b82b197f34c4eeeb1731b) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

Lukas Geiger

commit sha a542579ff954cccdc03b7196007f05ea4a0cfb33

Add Android AAR build to release workflow (#451)

view details

Hong Li

commit sha e9ca6be1f2f14edd9622897362ed62e0e58f89d8

Add ARM32 kernel implementation (#432) Co-authored-by: Adam Hillier <7688302+AdamHillier@users.noreply.github.com>

view details

Lukas Geiger

commit sha 4c8501041ed49a3c5bae39f08c0d2a4cd2d537fb

:arrow_up: 0.4.0.dev20200728

view details

Lukas Geiger

commit sha b91814799beef26f665653a0a640da52cfdf03c4

Set PreferredToolArchitecture on windows

view details

Lukas Geiger

commit sha 27530ac0b64faa18f62ba25b7b75781280ea3513

Limit ram to fix windows build

view details

Lukas Geiger

commit sha dfe24fb6f7a757f8a5660a2bbc03c9e337a10dfc

Remove unneeded folders since bazel want's to use it all

view details

Lukas Geiger

commit sha ee9da8f3251a250eb229dcbc431e63acaefd9490

Limit memory for windows build

view details

Lukas Geiger

commit sha 28279b685847f42a03c43354e7d2f77b5796363c

Run windows build single threaded

view details

Lukas Geiger

commit sha 5d6e5d4dbd959b5087fb4bd6623d8e7f133eaef8

Use C:/ to store bazel cache

view details

Lukas Geiger

commit sha 7d316e4c74281516b9dc68098a1ca389227c1911

Don't limit jobs for windows build

view details

Lukas Geiger

commit sha cefc30bdee2caac7686a7b9193a975c97ae5ab26

Revert a bunch of memory flags on windows

view details

Lukas Geiger

commit sha f2b429a2c35f0eb70a1ddd22e68ec377c2e75359

Set --jobs=2 for windows builds

view details

Lukas Geiger

commit sha 587dbd27253c044a879acba8e7f75e9247024675

Test AArch32 release build

view details

push time in 18 hours

PR opened larq/compute-engine

Prebuild AArch32 benchmark binary for new releases internal-improvement

What do these changes do?

This PR prebuilds an AArch32 version of our benchmark binary for new releases since #432 added optimized kernels for AArch32.

How Has This Been Tested?

A test build is running here.

Related issue number

<!-- Are there any issues opened that will be resolved by merging this change? -->

+4 -0

0 comment

1 changed file

pr created time in 18 hours

create barnchlarq/compute-engine

branch : aarch32-benchmark-binary

created branch time in 18 hours

push eventlarq/compute-engine

Lukas Geiger

commit sha 9b6428b7ad9fa1bb48af8ae95ffb2982ccc6978e

Test AArch32 release build

view details

push time in 18 hours

issue closedlarq/compute-engine

BgemmKernel for ARM32

closed time in 18 hours

honglh

issue commentlarq/compute-engine

BgemmKernel for ARM32

Closed via #432

honglh

comment created time in 18 hours

push eventlarq/compute-engine

Lukas Geiger

commit sha e1520000a98e824e3c81cdebcf0fb2367494942f

Set --jobs=2 for windows builds

view details

push time in 18 hours

push eventlarq/compute-engine

Lukas Geiger

commit sha a542579ff954cccdc03b7196007f05ea4a0cfb33

Add Android AAR build to release workflow (#451)

view details

push time in 18 hours

delete branch larq/compute-engine

delete branch : android-aar-release-builds

delete time in 18 hours

PR merged larq/compute-engine

Add Android AAR build to release workflow internal-improvement

What do these changes do?

This PR adds builds of the Android AAR package to the release workflow.

How Has This Been Tested?

I ran a test build here.

Related issue number

This doesn't fully address #317 as the PR doesn't upload the final package to Bintray yet, but at least it now get's build on CI so we can manually upload to Bintray.

+29 -0

0 comment

1 changed file

lgeiger

pr closed time in 18 hours

PR opened larq/compute-engine

Add Android AAR build to release workflow internal-improvement

What do these changes do?

This PR adds builds of the Android AAR package to the release workflow.

How Has This Been Tested?

I ran a test build here.

Related issue number

This doesn't fully address #317 as the PR doesn't upload the final package to Bintray yet, but at least it now get's build on CI so we can manually upload to Bintray.

+29 -0

0 comment

1 changed file

pr created time in 19 hours

create barnchlarq/compute-engine

branch : android-aar-release-builds

created branch time in 19 hours

push eventlarq/compute-engine

Lukas Geiger

commit sha b3a0882aef16ee6f04e080e065087cfde8e0f9e7

Add docs for inference type kwargs

view details

push time in 20 hours

push eventlarq/compute-engine

Lukas Geiger

commit sha 687f67d3c6f0ae14e68da1d29cac68e5e9c4b1ef

Support full int8 QAT models in converter

view details

push time in 20 hours

push eventlarq/compute-engine

Lukas Geiger

commit sha 1b26f78d8d28f771f03963b0fbb1f7cfdddfd5f5

Build Android AAR during release process

view details

push time in a day

push eventlarq/compute-engine

Lukas Geiger

commit sha df7f539cc46b16dc1c343b422a4dff589b8c5f63

Revert a bunch of memory flags on windows

view details

Lukas Geiger

commit sha 2189f5b36a5aa2efa00a95a7102b65acccb73f7b

Build Android AAR during release process

view details

push time in a day

push eventlarq/compute-engine

Lukas Geiger

commit sha 1920f713cd149fb9dfb89780dfe4ec1f87188fa0

Support full int8 QAT models in converter

view details

push time in a day

push eventlarq/compute-engine

Lukas Geiger

commit sha 1faf8d1b39ff88c9dd55064e286ca051a0eb83c1

Support full int8 QAT models in converter

view details

push time in a day

Pull request review commentlarq/compute-engine

Support full int8 QAT models in converter

 def test_simple_model(model_cls):     assert_model_output(model_lce, inputs, outputs)  +@pytest.mark.parametrize("model_cls", [toy_model, toy_model_int8])+@pytest.mark.parametrize("inference_input_type", [tf.int8, tf.float32])+@pytest.mark.parametrize("inference_output_type", [tf.int8, tf.float32])+def test_int8_input_output(model_cls, inference_input_type, inference_output_type):+    model_lce = convert_keras_model(+        model_cls(),+        inference_input_type=inference_input_type,+        inference_output_type=inference_output_type,+        experimental_default_int8_range=(-6.0, 6.0) if model_cls == toy_model else None,+    )+    interpreter = tf.lite.Interpreter(model_content=model_lce)

I don't allocate any tensors here and just use the interpretor to get input and output types, thus we don't need to register our custom ops here.

lgeiger

comment created time in a day

Pull request review commentlarq/compute-engine

Support full int8 QAT models in converter

 def has_ext_modules(self):     packages=find_packages(),     ext_modules=ext_modules,     url="https://larq.dev/",-    install_requires=["packaging>=19"],+    install_requires=["flatbuffers>=1.12", "packaging>=19"],

We are already depending implicetly on flatbuffers through TensorFlow.

lgeiger

comment created time in a day

Pull request review commentlarq/compute-engine

Support full int8 QAT models in converter

 def toy_model_int8(**kwargs):     )(x)     x = quant(x)     x = tf.keras.layers.GlobalAveragePooling2D()(x)+    x = quant(x)

This fake quant layer was preventing full int8 output previously.

lgeiger

comment created time in a day

Pull request review commentlarq/compute-engine

Support full int8 QAT models in converter

+import copy++import flatbuffers+import tensorflow as tf++from larq_compute_engine.mlir.python import schema_py_generated as tflite_schema+++_MAP_TFLITE_ENUM_TO_TF_TYPES = {+    0: tf.float32,+    1: tf.float16,+    2: tf.int32,+    3: tf.uint8,+    4: tf.int64,+    5: tf.string,+    6: tf.bool,+    7: tf.int16,+    8: tf.complex64,+    9: tf.int8,+    10: tf.float64,+}++_TFLITE_FILE_IDENTIFIER = b"TFL3"+++def _convert_tflite_enum_type_to_tf_type(tflite_enum_type):+    """Converts tflite enum type (eg: 0) to tf type (eg: tf.float32)."""+    tf_type = _MAP_TFLITE_ENUM_TO_TF_TYPES.get(tflite_enum_type)+    if tf_type is None:+        raise ValueError(+            "Unsupported enum {}. The valid map of enum to tf.dtypes is : {}".format(+                tflite_enum_type, _MAP_TFLITE_ENUM_TO_TF_TYPES+            )+        )+    return tf_type+++def _convert_model_from_bytearray_to_object(model_bytearray):+    """Converts a tflite model from a bytearray into a parsable object."""+    model_object = tflite_schema.Model.GetRootAsModel(model_bytearray, 0)+    model_object = tflite_schema.ModelT.InitFromObj(model_object)+    model_object = copy.deepcopy(model_object)+    model_object.subgraphs[0].inputs[0] = model_object.subgraphs[0].inputs[0]+    return model_object+++def _convert_model_from_object_to_bytearray(model_object):+    """Converts a tflite model from a parsable object into a bytearray."""+    # Initial size of the buffer, which will grow automatically if needed+    builder = flatbuffers.Builder(1024)+    model_offset = model_object.Pack(builder)+    builder.Finish(model_offset, file_identifier=_TFLITE_FILE_IDENTIFIER)+    return bytes(builder.Output())+++def _remove_tensors_from_model(model, remove_tensors_idxs):+    """Remove tensors from model."""+    if not remove_tensors_idxs:+        return+    if len(model.subgraphs) > 1:+        raise ValueError(+            "Model must only have one subgraph. Instead, it has "+            "{} subgraphs.".format(len(model.subgraphs))+        )+    subgraph = model.subgraphs[0]+    tensors = subgraph.tensors+    operators = subgraph.operators++    # An optimized check to validate if "remove_tensors_idxs" (eg: [4,5,6]) is an+    # exact subset, with ordering, of "tensors" indices (eg: [0,1,2,3,4,5,6]).+    if min(remove_tensors_idxs) == len(tensors) - len(remove_tensors_idxs):+        del tensors[min(remove_tensors_idxs) :]+    else:+        # Map the old tensor indices to new tensor indices+        d_old_to_new_tensors = {}+        left_shift_by = 0+        for idx in range(len(tensors)):+            if idx in remove_tensors_idxs:+                left_shift_by += 1+            else:+                d_old_to_new_tensors[idx] = idx - left_shift_by+        # Update tensor indices referenced throughout the model+        def update_tensors(tensor_idxs):+            for i, ti in enumerate(tensor_idxs):+                tensor_idxs[i] = d_old_to_new_tensors.get(ti, -1)++        update_tensors(subgraph.inputs)+        update_tensors(subgraph.outputs)+        for op in operators:+            update_tensors(op.inputs)+            update_tensors(op.outputs)+        # Delete the tensors+        for idx in sorted(remove_tensors_idxs, reverse=True):+            tensors.pop(idx)+++def _find_int8_quantized_inputs_outputs(model):+    """Validate that model input is quantized and output is dequantized."""+    if len(model.subgraphs) > 1:+        raise ValueError(+            "Model must only have one subgraph. Instead, it has "+            "{} subgraphs.".format(len(model.subgraphs))+        )+    subgraph = model.subgraphs[0]+    tensors = subgraph.tensors+    operators = subgraph.operators++    # Ensure model has atleast one quantize and dequantize operator+    quant_opcode_idx, dequant_opcode_idx = None, None+    for idx, opcode in enumerate(model.operatorCodes):+        if opcode.builtinCode == tflite_schema.BuiltinOperator.QUANTIZE:+            quant_opcode_idx = idx+        elif opcode.builtinCode == tflite_schema.BuiltinOperator.DEQUANTIZE:+            dequant_opcode_idx = idx+        if quant_opcode_idx is not None and dequant_opcode_idx is not None:+            break+    if quant_opcode_idx is None and dequant_opcode_idx is None:+        raise ValueError(+            "Model is not integer quantized as it does not "+            "contain quantize/dequantize operators."+        )++    # Ensure model inputs and outputs are integer quantized+    input_quant_ops, output_dequant_ops = [], []+    for op in operators:+        # Find input quantize operator+        if op.opcodeIndex == quant_opcode_idx and op.inputs[0] in subgraph.inputs:+            pos, float_tensor, int_tensor = (+                "input",+                tensors[op.inputs[0]],+                tensors[op.outputs[0]],+            )+            input_quant_ops.append(op)+        # Find output dequantize operator+        elif op.opcodeIndex == dequant_opcode_idx and op.outputs[0] in subgraph.outputs:+            pos, float_tensor, int_tensor = (+                "output",+                tensors[op.outputs[0]],+                tensors[op.inputs[0]],+            )+            output_dequant_ops.append(op)+        # Otherwise, ignore+        else:+            continue+        # If found, validate the input/output tensor type+        if float_tensor.type != tflite_schema.TensorType.FLOAT32:+            raise ValueError(+                "Model {} type must be tf.float32. Expected type for tensor with "+                "name '{}' is tf.float32, instead type is tf.{}".format(+                    pos,+                    float_tensor.name,+                    _convert_tflite_enum_type_to_tf_type(float_tensor.type).name,+                )+            )+        if int_tensor.type != tflite_schema.TensorType.INT8:+            raise ValueError(+                "Model is not integer quantized. Expected type for tensor with "+                "name '{}' is tf.int8, instead type is tf.{}".format(+                    int_tensor.name,+                    _convert_tflite_enum_type_to_tf_type(int_tensor.type).name,+                )+            )++    return input_quant_ops, output_dequant_ops+++def modify_integer_quantized_model_io_type(+    model, inference_input_type=tf.float32, inference_output_type=tf.float32,+):+    """Modify the float input/output type of an integer quantized model."""+    # Convert the model to an object+    model = _convert_model_from_bytearray_to_object(model)++    # Validate the integer quantized model+    input_quant_ops, output_dequant_ops = _find_int8_quantized_inputs_outputs(model)++    subgraph = model.subgraphs[0]+    operators = subgraph.operators+    remove_tensors_idxs = set()++    # Modify model input type+    if inference_input_type == tf.int8:+        # Remove the inputs and the quant operator+        for op in input_quant_ops:+            subgraph.inputs[subgraph.inputs == op.inputs[0]] = op.outputs[0]+            remove_tensors_idxs.add(op.inputs[0])+            operators.remove(op)++    # Modify model output type+    if inference_output_type == tf.int8:+        # Remove the outputs and the dequant operator+        for op in output_dequant_ops:+            subgraph.outputs[subgraph.outputs == op.outputs[0]] = op.inputs[0]+            remove_tensors_idxs.add(op.outputs[0])+            operators.remove(op)++    # Remove tensors marked for deletion.+    _remove_tensors_from_model(model, remove_tensors_idxs)++    # Convert the model to a bytearray+    return _convert_model_from_object_to_bytearray(model)

This is the only function relevant for review in this file and was adapted from here. Main changes are use of native tf.dtypes and support for int8 only.

lgeiger

comment created time in a day

Pull request review commentlarq/compute-engine

Support full int8 QAT models in converter

 pybind11::bytes ConvertGraphDefToTFLiteFlatBuffer(       quant_specs.input_ranges.push_back({-128.0, 127.0});     }     if (!default_ranges.is_none()) {-      quant_specs.inference_input_type = tensorflow::DT_QINT8;

This is now properly handled by post-processing the flatbuffer.

lgeiger

comment created time in a day

Pull request review commentlarq/compute-engine

Support full int8 QAT models in converter

 pybind_extension(  py_library(     name = "converter",-    srcs = ["python/converter.py"],+    srcs = [+        "python/converter.py",+        "python/schema_py_generated.py",

I added an autogenerated tflite flatbuffer schema file since it is not included in the pip package of earlier versions of TensorFlow and is also missing on the macos builds of TensorFlow.

I tried using https://github.com/jackwish/tflite as well, but it doesn't include the object-based flatbuffer API for mutations and adding the API to the package would conflict with their import structure.

lgeiger

comment created time in a day

PR opened larq/compute-engine

Support full int8 QAT models in converter feature

What do these changes do?

This PR adds support for full integer quantization via the converter with the ability to customize input and output types. This adapts https://github.com/tensorflow/tensorflow/commit/ec94fabb838b0934eeaf46f1fd22c36b2b3ec333

How Has This Been Tested?

Added unittest to verify input and output dtypes.

+11618 -4

0 comment

7 changed files

pr created time in a day

create barnchlarq/compute-engine

branch : full-int8-qat

created branch time in a day

push eventlgeiger/tflite

Lukas Geiger

commit sha 91a94331fc03aca32bb5953524c42a8a1f0520c2

pin shrub to 0.0.2 to fix CI

view details

push time in a day

PR opened jackwish/tflite

Update schema to 2.3.0

This PR updates the schema to match TensorFlow version 2.3.0

+161 -12

0 comment

16 changed files

pr created time in a day

create barnchlgeiger/tflite

branch : r2.3

created branch time in a day

fork lgeiger/tflite

Parse TFLite models (*.tflite) EASILY with Python.

https://jackwish.net/tflite

fork in a day

delete branch larq/docs

delete branch : fix-r2b

delete time in 2 days

push eventlarq/docs

Leon Overweel

commit sha f9850908a45d0864bc5b62f91545873de541b238

Add RealToBinNet to zoo.literature (#158) This probably got lost in the refactor #68.

view details

push time in 2 days

PR merged larq/docs

Add RealToBinNet to zoo.literature documentation

This probably got lost in the refactor #68.

Tested locally; docs look good.

+1 -0

0 comment

1 changed file

leonoverweel

pr closed time in 2 days

push eventlarq/docs

dependabot[bot]

commit sha 046a553cedcfb40e5f169383f02dc832a1be2e93

Bump mkdocs-material from 5.5.1 to 5.5.2 (#157) Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 5.5.1 to 5.5.2. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/5.5.1...5.5.2) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 2 days

delete branch larq/docs

delete branch : dependabot/pip/mkdocs-material-5.5.2

delete time in 2 days

PR merged larq/docs

Bump mkdocs-material from 5.5.1 to 5.5.2 dependencies

Bumps mkdocs-material from 5.5.1 to 5.5.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/squidfunk/mkdocs-material/releases">mkdocs-material's releases</a>.</em></p> <blockquote> <h2>mkdocs-material-5.5.2</h2> <ul> <li>Improved highlight colors and spacing for <code>ins</code>, <code>del</code> and <code>mark</code></li> <li>Changed some keyboard symbols for better equivalents</li> <li>Removed focus <code>outline</code> for details and code blocks on touch devices</li> <li>Fixed margins for Admonitions (5.5.1 regression)</li> <li>Fixed too small content tab labels (5.5.1 regression)</li> <li>Fixed icon repeating for custom admonition icons</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md">mkdocs-material's changelog</a>.</em></p> <blockquote> <h3>5.5.2 <!-- raw HTML omitted -->_ August 3, 2020<!-- raw HTML omitted --></h3> <ul> <li>Improved highlight colors and spacing for <code>ins</code>, <code>del</code> and <code>mark</code></li> <li>Changed some keyboard symbols for better equivalents</li> <li>Removed focus <code>outline</code> for details and code blocks on touch devices</li> <li>Fixed margins for Admonitions (5.5.1 regression)</li> <li>Fixed too small content tab labels (5.5.1 regression)</li> <li>Fixed icon repeating for custom admonition icons</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/186bd9ba3e7462cf0e8df1673eebe9006960bfc0"><code>186bd9b</code></a> Prepare 5.5.2 release</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/5593b54a4f187de6ab121a64859c802d12e64fad"><code>5593b54</code></a> Fixed background repeat of (some) custom admonition icons</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/584c3135d05e827f5d0a7eeb5b552e7495f88335"><code>584c313</code></a> Added documentation for custom admonitions</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/acd74225b396198385b1df9b72200276ee41fe69"><code>acd7422</code></a> Fixed tab labels being too small in admonitions</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/8754188fb194db04ff98ed2f6a8ca27faf0a19c7"><code>8754188</code></a> Updated site search documentation</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/257a73780aa21503f995444fbc9f8d97beb2056b"><code>257a737</code></a> Added preview for search highlighting</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/05465a9484148aa14bb2831f0a0b64909a7fe0a8"><code>05465a9</code></a> Added documentation for search highlighting</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/2cea481b9b0837dbe235262d3a8bbe70dd9a4b69"><code>2cea481</code></a> Reverted clipboard button changes</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/5cd8dcf067d825bb887e85e10b7c8b4f1ada7e8b"><code>5cd8dcf</code></a> Added latest changes to changelog</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/30c8c87da8d916dc365ca7a7c0baac15f9d72d0c"><code>30c8c87</code></a> Fixed margins for Admonitions</li> <li>Additional commits viewable in <a href="https://github.com/squidfunk/mkdocs-material/compare/5.5.1...5.5.2">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 2 days

issue commenttensorflow/datasets

[data request] KITTI depth estimation dataset

@adiagarwalgoogle I am aware that TFDS already has a KITTI dataset. However, it doesn't include depth map labels as mentioned in the issue description, or am I missing something? Could you reopen this issue.

lgeiger

comment created time in 2 days

push eventlarq/compute-engine

dependabot[bot]

commit sha 41b4bf63b39ac0ceb80d1e741819db6ee96d3d4c

Bump actions/upload-artifact from v2.1.1 to v2.1.2 (#448) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.1.1 to v2.1.2. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.1.1...c8879bf5aef7bef66f9b82b197f34c4eeeb1731b) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 2 days

delete branch larq/compute-engine

delete branch : dependabot/github_actions/actions/upload-artifact-v2.1.2

delete time in 2 days

PR merged larq/compute-engine

Bump actions/upload-artifact from v2.1.1 to v2.1.2 dependencies

Bumps actions/upload-artifact from v2.1.1 to v2.1.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's releases</a>.</em></p> <blockquote> <h2>v2.1.2</h2> <ul> <li>Increase upload chunk size from 4MB to 8MB</li> <li>Detect case insensitive file uploads</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/upload-artifact/commit/c8879bf5aef7bef66f9b82b197f34c4eeeb1731b"><code>c8879bf</code></a> Detect case insensitive uploads + Bump @actions/artifact to version 0.3.3 (<a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/106">#106</a>)</li> <li><a href="https://github.com/actions/upload-artifact/commit/5ba29a7d5bc755310062446302393a8b9087adb8"><code>5ba29a7</code></a> Add new option to specify behavior if no files found (<a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/104">#104</a>)</li> <li>See full diff in <a href="https://github.com/actions/upload-artifact/compare/v2.1.1...c8879bf5aef7bef66f9b82b197f34c4eeeb1731b">compare view</a></li> </ul> </details> <br />

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+4 -4

0 comment

1 changed file

dependabot[bot]

pr closed time in 2 days

push eventlarq/docs

dependabot[bot]

commit sha 39aebad59f2346119a4e7c75f05a7a8bb9daf456

Bump mkdocs-material from 5.5.0 to 5.5.1 (#156) Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 5.5.0 to 5.5.1. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/5.5.0...5.5.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 3 days

delete branch larq/docs

delete branch : dependabot/pip/mkdocs-material-5.5.1

delete time in 3 days

PR merged larq/docs

Bump mkdocs-material from 5.5.0 to 5.5.1 dependencies

Bumps mkdocs-material from 5.5.0 to 5.5.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/squidfunk/mkdocs-material/releases">mkdocs-material's releases</a>.</em></p> <blockquote> <h2>mkdocs-material-5.5.1</h2> <ul> <li>Improved typesetting by basing <code>font-size</code> and spacings on <code>em</code></li> <li>Improved print view by slightly scaling down <code>font-size</code></li> <li>Changed custom site title (metadata) to be suffixed with site name</li> <li>Fixed top- and bottom spacing of paragraphs inside table cells</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md">mkdocs-material's changelog</a>.</em></p> <blockquote> <h3>5.5.1 <!-- raw HTML omitted -->_ August 1, 2020<!-- raw HTML omitted --></h3> <ul> <li>Improved typesetting by basing <code>font-size</code> and spacings on <code>em</code></li> <li>Improved print view by slightly scaling down <code>font-size</code></li> <li>Changed custom site title (metadata) to be suffixed with site name</li> <li>Fixed top- and bottom spacing of paragraphs inside table cells</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/ee090a89caaa826bc1b4a2f1cc6698d734dc993a"><code>ee090a8</code></a> Prepare 5.5.1 release</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/eba146d0bbd25180a553a879031734d70d7971b6"><code>eba146d</code></a> Improved print preview</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/4b2c0e5a88ac6e73543dd7aa545b95f93cee349f"><code>4b2c0e5</code></a> Removed modular-scale and made typography entirely relative</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/de9150c1aa05484985540a49d5d494f6a8767395"><code>de9150c</code></a> Documentation</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/34b67addaa06fb6dbf9b371f8fada527f78c8d28"><code>34b67ad</code></a> Added note on custom comment system integration</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/865a18db6e03920ab98bc6173698397fff868df9"><code>865a18d</code></a> Added note on MathJax and instant loading</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/03ae625716ae3d9cfb942be37fbe61870db77486"><code>03ae625</code></a> Added new code blocks feature to the roadmap</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/b373083873a20880bf881e2fd58efe87b7ef2227"><code>b373083</code></a> Added new table of contents feature to the roadmap</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/c9029936ea7e607ccda40d7c036b8397328538db"><code>c902993</code></a> Added documentation for using icons in templates</li> <li><a href="https://github.com/squidfunk/mkdocs-material/commit/6579e1d77de4307dd7e53b142fa94ce9fe099add"><code>6579e1d</code></a> Fixed top- and bottom spacing of paragraphs inside tables</li> <li>Additional commits viewable in <a href="https://github.com/squidfunk/mkdocs-material/compare/5.5.0...5.5.1">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 3 days

startedllvm/circt

started time in 5 days

issue commentlarq/compute-engine

Question: model with bitpacked output

Perhaps not as the default behaviour, maybe behind a feature flag, but we can cross that bridge when we come to it.

I agree that this shouldn't be the default behaviour as exposing internal bitpacked representation to users seems to be quite error prone (e.g. if the output of the model is post-processed or passed into another TFLite model writing bitpacked output could potentially lead to unexpected behaviour since only our BConv and BMaxPool ops correctly handle bitpacked int32 input). Though, I am not a big fan of adding a flag to the converter either as it increases the API surface for a feature that seems to only be used internally for testing. However, if there are more uses cases for this I'm not too concerned about adding a new flag to the converter.

I don't know how easy this would be to implement, however. @lgeiger do you have any thoughts about this, is there a nice way to pattern match a 'model output' in MLIR?

Unfortunately I am not aware of an easy way to handle this in our current setup on top of my head. I guess we could post-process the flatbuffer in Python, but that seems to be a bit brittle or we could add a new pass that operates on the entire model at once and therefor knows about whether a tensor is the model output.

I agree with Tom, that for testing individual ops I'd prefer doing it in C++ if possible and building the model on the fly which gives full control over all details. This would come with the additional benefit of not having to invoke the converter for every parameter combination which can become quite expensive when trying to test many combinations.

xross

comment created time in 5 days

push eventlarq/zookeeper

dependabot[bot]

commit sha 4f898e0e2e1543b6f133b51a7eea5418ee0bc062

Bump isort from 5.2.1 to 5.2.2 (#174) Bumps [isort](https://github.com/timothycrosley/isort) from 5.2.1 to 5.2.2. - [Release notes](https://github.com/timothycrosley/isort/releases) - [Changelog](https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md) - [Commits](https://github.com/timothycrosley/isort/compare/5.2.1...5.2.2) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 5 days

delete branch larq/zookeeper

delete branch : dependabot/pip/isort-5.2.2

delete time in 5 days

PR merged larq/zookeeper

Bump isort from 5.2.1 to 5.2.2 dependencies python

Bumps isort from 5.2.1 to 5.2.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/timothycrosley/isort/releases">isort's releases</a>.</em></p> <blockquote> <h3>5.2.2 July 30, 2020</h3> <ul> <li>Fixed <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1356">#1356</a>: return status when arguments are passed in without files or a content stream.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md">isort's changelog</a>.</em></p> <blockquote> <h3>5.2.2 July 30, 2020</h3> <ul> <li>Fixed <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1356">#1356</a>: return status when arguments are passed in without files or a content stream.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/timothycrosley/isort/commit/253b9476c6c6fd8973c9fd9f8928d6c802481342"><code>253b947</code></a> Bump version number</li> <li><a href="https://github.com/timothycrosley/isort/commit/39adceea2090acc5af5bb146bafbc951c8689304"><code>39adcee</code></a> Fixed <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1356">#1356</a>: return status when arguments are passed in without files or a co...</li> <li><a href="https://github.com/timothycrosley/isort/commit/b8c8c00dbccca7d2c3d4939d75afe4469e29213f"><code>b8c8c00</code></a> Add precommit section to upgrade guide</li> <li><a href="https://github.com/timothycrosley/isort/commit/212e1609eaeb5a86496ded5c355843e0979936fc"><code>212e160</code></a> Update isort config</li> <li><a href="https://github.com/timothycrosley/isort/commit/107bf48c884a15ae5de8818c8e0ad71621291339"><code>107bf48</code></a> Add custom isort documentation theme</li> <li>See full diff in <a href="https://github.com/timothycrosley/isort/compare/5.2.1...5.2.2">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 5 days

push eventlarq/zoo

dependabot[bot]

commit sha df6e65e846fdd8324f4d1ea644d67e3938cf0ab7

Bump pytype from 2020.7.24 to 2020.7.30 (#212) Bumps [pytype](https://github.com/google/pytype) from 2020.7.24 to 2020.7.30. - [Release notes](https://github.com/google/pytype/releases) - [Changelog](https://github.com/google/pytype/blob/master/CHANGELOG) - [Commits](https://github.com/google/pytype/compare/2020.07.24...2020.07.30) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 5 days

delete branch larq/zoo

delete branch : dependabot/pip/pytype-2020.7.30

delete time in 5 days

PR merged larq/zoo

Bump pytype from 2020.7.24 to 2020.7.30 dependencies python

Bumps pytype from 2020.7.24 to 2020.7.30. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/google/pytype/commit/e2d73f1e0be6f1c6a22f040e785e5e2e348d0cf5"><code>e2d73f1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/google/pytype/issues/636">#636</a> from google/google_sync</li> <li><a href="https://github.com/google/pytype/commit/15a88d2177216acc1e09466fb2e3cd660e09b11e"><code>15a88d2</code></a> Do a PyPI release.</li> <li><a href="https://github.com/google/pytype/commit/75e64fb93cbcb19d8e362590fed7a522b0e9c755"><code>75e64fb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/google/pytype/issues/635">#635</a> from google/google_sync</li> <li><a href="https://github.com/google/pytype/commit/7f0b940b52047dc9d23fdc6801a27e5a676b2f30"><code>7f0b940</code></a> When raising not-supported-yet for Alias = Union[T, ...] set the type to Any.</li> <li><a href="https://github.com/google/pytype/commit/95e5e8fd2e5799ab1950ab2e5720be0eecf8910a"><code>95e5e8f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/google/pytype/issues/633">#633</a> from google/google_sync</li> <li><a href="https://github.com/google/pytype/commit/d291a250fbff67f6ab86fc8d8c20b28be22148ae"><code>d291a25</code></a> Make imports_map_loader_test work with custom $TMPDIR values.</li> <li><a href="https://github.com/google/pytype/commit/b5ca345770533656b62a3f739091877642c4cb57"><code>b5ca345</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/google/pytype/issues/632">#632</a> from google/google_sync</li> <li><a href="https://github.com/google/pytype/commit/c8676809381f156686ada1bab2df9029f266dacb"><code>c867680</code></a> Move a test containing a parameter annotation from tests/ to tests/py3/.</li> <li><a href="https://github.com/google/pytype/commit/e2700f19c5a7aa92cc337d7fc92e8c673a7f1728"><code>e2700f1</code></a> Support imported type macros in pyi files.</li> <li><a href="https://github.com/google/pytype/commit/ceeb07fa5ef4f19363441a8ebb6da28f6a435825"><code>ceeb07f</code></a> FIX: We were occasionally reusing an exhausted generator in Union constructor.</li> <li>Additional commits viewable in <a href="https://github.com/google/pytype/compare/2020.07.24...2020.07.30">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 5 days

delete branch larq/larq

delete branch : dependabot/pip/isort-5.2.2

delete time in 5 days

push eventlarq/larq

dependabot[bot]

commit sha 530d62765c14240a04e03694b9433e4fe8dbf1f1

Bump isort from 5.2.1 to 5.2.2 (#545) Bumps [isort](https://github.com/timothycrosley/isort) from 5.2.1 to 5.2.2. - [Release notes](https://github.com/timothycrosley/isort/releases) - [Changelog](https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md) - [Commits](https://github.com/timothycrosley/isort/compare/5.2.1...5.2.2) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 5 days

PR merged larq/larq

Bump isort from 5.2.1 to 5.2.2 dependencies python

Bumps isort from 5.2.1 to 5.2.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/timothycrosley/isort/releases">isort's releases</a>.</em></p> <blockquote> <h3>5.2.2 July 30, 2020</h3> <ul> <li>Fixed <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1356">#1356</a>: return status when arguments are passed in without files or a content stream.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md">isort's changelog</a>.</em></p> <blockquote> <h3>5.2.2 July 30, 2020</h3> <ul> <li>Fixed <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1356">#1356</a>: return status when arguments are passed in without files or a content stream.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/timothycrosley/isort/commit/253b9476c6c6fd8973c9fd9f8928d6c802481342"><code>253b947</code></a> Bump version number</li> <li><a href="https://github.com/timothycrosley/isort/commit/39adceea2090acc5af5bb146bafbc951c8689304"><code>39adcee</code></a> Fixed <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1356">#1356</a>: return status when arguments are passed in without files or a co...</li> <li><a href="https://github.com/timothycrosley/isort/commit/b8c8c00dbccca7d2c3d4939d75afe4469e29213f"><code>b8c8c00</code></a> Add precommit section to upgrade guide</li> <li><a href="https://github.com/timothycrosley/isort/commit/212e1609eaeb5a86496ded5c355843e0979936fc"><code>212e160</code></a> Update isort config</li> <li><a href="https://github.com/timothycrosley/isort/commit/107bf48c884a15ae5de8818c8e0ad71621291339"><code>107bf48</code></a> Add custom isort documentation theme</li> <li>See full diff in <a href="https://github.com/timothycrosley/isort/compare/5.2.1...5.2.2">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 5 days

push eventlarq/larq

dependabot[bot]

commit sha 2ef0951d4fedc1e3dc0b0094edabb0cd86fc5c63

Bump pytype from 2020.7.24 to 2020.7.30 (#546) Bumps [pytype](https://github.com/google/pytype) from 2020.7.24 to 2020.7.30. - [Release notes](https://github.com/google/pytype/releases) - [Changelog](https://github.com/google/pytype/blob/master/CHANGELOG) - [Commits](https://github.com/google/pytype/compare/2020.07.24...2020.07.30) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 5 days

delete branch larq/larq

delete branch : dependabot/pip/pytype-2020.7.30

delete time in 5 days

PR merged larq/larq

Bump pytype from 2020.7.24 to 2020.7.30 dependencies python

Bumps pytype from 2020.7.24 to 2020.7.30. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/google/pytype/commit/e2d73f1e0be6f1c6a22f040e785e5e2e348d0cf5"><code>e2d73f1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/google/pytype/issues/636">#636</a> from google/google_sync</li> <li><a href="https://github.com/google/pytype/commit/15a88d2177216acc1e09466fb2e3cd660e09b11e"><code>15a88d2</code></a> Do a PyPI release.</li> <li><a href="https://github.com/google/pytype/commit/75e64fb93cbcb19d8e362590fed7a522b0e9c755"><code>75e64fb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/google/pytype/issues/635">#635</a> from google/google_sync</li> <li><a href="https://github.com/google/pytype/commit/7f0b940b52047dc9d23fdc6801a27e5a676b2f30"><code>7f0b940</code></a> When raising not-supported-yet for Alias = Union[T, ...] set the type to Any.</li> <li><a href="https://github.com/google/pytype/commit/95e5e8fd2e5799ab1950ab2e5720be0eecf8910a"><code>95e5e8f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/google/pytype/issues/633">#633</a> from google/google_sync</li> <li><a href="https://github.com/google/pytype/commit/d291a250fbff67f6ab86fc8d8c20b28be22148ae"><code>d291a25</code></a> Make imports_map_loader_test work with custom $TMPDIR values.</li> <li><a href="https://github.com/google/pytype/commit/b5ca345770533656b62a3f739091877642c4cb57"><code>b5ca345</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/google/pytype/issues/632">#632</a> from google/google_sync</li> <li><a href="https://github.com/google/pytype/commit/c8676809381f156686ada1bab2df9029f266dacb"><code>c867680</code></a> Move a test containing a parameter annotation from tests/ to tests/py3/.</li> <li><a href="https://github.com/google/pytype/commit/e2700f19c5a7aa92cc337d7fc92e8c673a7f1728"><code>e2700f1</code></a> Support imported type macros in pyi files.</li> <li><a href="https://github.com/google/pytype/commit/ceeb07fa5ef4f19363441a8ebb6da28f6a435825"><code>ceeb07f</code></a> FIX: We were occasionally reusing an exhausted generator in Union constructor.</li> <li>Additional commits viewable in <a href="https://github.com/google/pytype/compare/2020.07.24...2020.07.30">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 5 days

pull request commentlarq/compute-engine

Add ARM32 kernel implementation

@honglh Thanks for addressing the comments. It looks like some of the kernel tests for the optimized code are still failing on CI, could you take a look at them? I think you should be able to reproduce the failures locally with the commands mentioned above, please let us know if you run into any issues with that.

honglh

comment created time in 6 days

pull request commentlarq/compute-engine

Add ARM32 kernel implementation

I will review and make a new PR

:+1: Thanks for taking a look. Feel free to push the updates to this branch which might be easier for you instead of creating a new PR.

honglh

comment created time in 6 days

issue commentlarq/larq

weight clip bad behavior

@nchiprut Thanks for opening the issue. Would you be able to provide the full code example? I can take a look at this problem tomorrow then.

nchiprut

comment created time in 6 days

Pull request review commentlarq/compute-engine

Add optimised canonical bitpacking for Aarch64. Closes #435.

 inline void packbits_array(const TIn* input_array, const std::size_t n,     memcpy(padding_buffer.data(), in, elements_left * sizeof(TIn));     for (size_t i = elements_left; i < bitwidth; ++i)       padding_buffer[i] = zero_point;-    pack_bitfield<bitpack_order>(padding_buffer.data(), out, zero_point);+    pack_bitfield(padding_buffer.data(), out, zero_point);   } }  // Bitpacks each row of a row-major matrix-template <BitpackOrder bitpack_order, class TIn, class TOut_>+template <class TIn, class TOut_> inline void packbits_matrix(const TIn* input, const std::size_t input_num_rows,                             const std::size_t input_num_cols, TOut_* output,                             const std::int32_t zero_point = 0) {   // Force the types to be unsigned so that the function can be called on signed   // types as well   using TOut = typename std::make_unsigned<TOut_>::type; +#ifdef __aarch64__+  if (!CE_IS_BIG_ENDIAN && std::is_same<TIn, float>::value &&

I'm not sure it's worth bothering to support the faster code path on big-endian CPUs - a lot of effort for minimal gain. Thoughts?

I agree, but I wouldn't really know if we are excluding a major device here either. It looks like Android is always little-endian and I think the Raspberry PIs are too, so I think we should be fine.

AdamHillier

comment created time in 6 days

issue commenttensorflow/tensorflow

TF 2.3 training slowed down by 15% compared to 2.2

@zongweiz Sure, I reran the above code example (float32 with mirrored strategy) to generate these profiles: tb-profile-fp32.zip

lgeiger

comment created time in 6 days

issue commenttensorflow/tensorflow

TF 2.3 training slowed down by 15% compared to 2.2

Makes sense, thanks for the help.

In your experience, when did you start noticing the regression?

I usually stay on the stable versions of TensorFlow for production workloads so I first noticed it around 2.3 RC 0 or 1 when running our internal ImageNet sanity check before upgrading TF version. But it took some time to find an reliably reproducible example that I could use to open the issue.

lgeiger

comment created time in 6 days

issue commenttensorflow/tensorflow

TF 2.3 training slowed down by 15% compared to 2.2

@guptapriya Thank you very much the fast response, I am glad that you were able to verify the regression.

I can confirm that we have verified the regression (looks like it happened sometime back in April)

April sounds like a long time for the regression to stay unnoticed. Am I doing something abnormal in the example or am I missing a best practice here?

lgeiger

comment created time in 6 days

issue commenttensorflow/tensorflow

Keras mixed precision API 50x slower than mixed precision graph rewrite

@reedwm Thanks for investigating!

Looks like there is not much performance difference between fp16 and fp32 apart from the backprop filter kernel which is almost unusable in fp16, so I guess it won't hurt to disable fp16 for keras depthwise layers by default.

lgeiger

comment created time in 6 days

pull request commenttensorflow/tensorflow

Run entire epoch as compiled tf.function in model.fit()

@omalleyt12 Do you have time to take a look?

lgeiger

comment created time in 6 days

pull request commenttensorflow/tensorflow

Fix invalid fusion of Matmul and Mul

@liufengdb Could you please take a look?

lgeiger

comment created time in 6 days

push eventlarq/compute-engine

Lukas Geiger

commit sha eeb04f998b9d7abeaa8a048b93ce9505f3c96f5a

Don't limit jobs for windows build

view details

push time in 6 days

delete branch lgeiger/tensorflow

delete branch : deprecated-get_next_as_optional

delete time in 7 days

delete branch lgeiger/tensorflow

delete branch : tensor_shape

delete time in 7 days

startedJJGO/shrinkbench

started time in 7 days

push eventlarq/compute-engine

Lukas Geiger

commit sha 0c87200df76319793c3c055f8c07d0ecb5ec223a

Use C:/ to store bazel cache

view details

push time in 7 days

push eventlarq/compute-engine

Lukas Geiger

commit sha 974b99f2d0541f3da89f0b4bded15a51cd73b3f5

Use C:/ to store bazel cache

view details

push time in 7 days

issue commenttensorflow/tensorflow

TF 2.3 training slowed down by 15% compared to 2.2

@guptapriya Thanks for looking into this.

The code sample uses MirroredStrategy - so I wanted to clarify when you said this regression is noticed on a single GPU as well - is that with or without MirroredStrategy?

Sorry about that, I missed that since I copied the example from a past issue I had with multi-GPU. I ran a few more benchmarks with the above example on a single GPU machine:

version FP32 FP32 Mirrored FP16 FP16 Mirrored
2.2.0 55 s 55 s 36s 34 s
2.3.0 54 s 58 s 37 s 39 s

Indeed, it looks like whether mirrored strategy is used or not has a large influence. I am not sure why there is a difference in execution speed for mixed precision with and without a strategy, altough I think that might be a seperate issue.

One thing to note is that 2.3 logs the following deprecation warning when used with mirrored strategy which wasn't present before, but that might be unrelated as well:

WARNING:tensorflow:From ~/.local/lib/python3.7/site-packages/tensorflow/python/data/ops/multi_device_iterator_ops.py:601: get_next_as_optional (from tensorflow.python.data.ops.iterator_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.data.Iterator.get_next_as_optional()` instead.

Note that this slowdown is more noticable with mixed precision as the kernel execution time is smaller so the increased idle time is easier to spot.

lgeiger

comment created time in 7 days

push eventlarq/zoo

dependabot[bot]

commit sha 26eb63e2119dfbcf50fb480a9ef8a2232b70656b

Bump isort from 5.2.0 to 5.2.1 (#210) Bumps [isort](https://github.com/timothycrosley/isort) from 5.2.0 to 5.2.1. - [Release notes](https://github.com/timothycrosley/isort/releases) - [Changelog](https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md) - [Commits](https://github.com/timothycrosley/isort/commits) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 7 days

delete branch larq/zoo

delete branch : dependabot/pip/isort-5.2.1

delete time in 7 days

PR merged larq/zoo

Bump isort from 5.2.0 to 5.2.1 dependencies python

Bumps isort from 5.2.0 to 5.2.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md">isort's changelog</a>.</em></p> <blockquote> <h3>5.2.1 July 28, 2020</h3> <ul> <li>Update precommit to default to filtering files that are defined in skip.</li> <li>Improved relative path detection for <code>skip</code> config usage.</li> <li>Added recursive symbolic link protection.</li> <li>Implemented <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1177">#1177</a>: Support for color output using <code>--color</code>.</li> <li>Implemented recursive symlink detection support.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/timothycrosley/isort/commits">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 7 days

push eventlarq/docs

dependabot[bot]

commit sha 8aa9683539fad9413eafacfd5c8b96b3b7209355

Bump pandas from 1.0.5 to 1.1.0 (#154) Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.0.5 to 1.1.0. - [Release notes](https://github.com/pandas-dev/pandas/releases) - [Changelog](https://github.com/pandas-dev/pandas/blob/master/RELEASE.md) - [Commits](https://github.com/pandas-dev/pandas/compare/v1.0.5...v1.1.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 7 days

delete branch larq/docs

delete branch : dependabot/pip/pandas-1.1.0

delete time in 7 days

PR merged larq/docs

Bump pandas from 1.0.5 to 1.1.0 dependencies

Bumps pandas from 1.0.5 to 1.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pandas-dev/pandas/releases">pandas's releases</a>.</em></p> <blockquote> <h2>Pandas 1.1.0</h2> <p>This is a minor release which includes some new features, bug fixes, and performance improvements. We recommend that all users upgrade to this version.</p> <p>See the <a href="https://pandas.pydata.org/pandas-docs/version/1.1.0/">whatsnew</a> for a list of all the changes.</p> <p>The release can be installed from PyPI</p> <pre><code>python -m pip install --upgrade pandas==1.1.0 </code></pre> <p>Or from conda-forge</p> <pre><code>conda install -c conda-forge pandas==1.1.0 </code></pre> <p>Please report any issues with the release candidate on the pandas issue tracker.</p> <h2>Pandas 1.1.0rc0</h2> <p>This is the first release candidate for 1.1.0rc0. If all goes well, we'll release pandas 1.1.0 in about two weeks.</p> <p>See the <a href="https://pandas.pydata.org/pandas-docs/version/1.1.0/">whatsnew</a> for a list of all the changes.</p> <p>The release can be installed from PyPI</p> <pre><code>python -m pip install --upgrade --pre pandas==1.1.0rc0 </code></pre> <p>Or from conda-forge</p> <pre><code>conda install -c conda-forge/label/pandas_rc pandas==1.1.0rc0 </code></pre> <p>Please report any issues with the release candidate on the pandas issue tracker.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pandas-dev/pandas/commit/d9fff2792bf16178d4e450fe7384244e50635733"><code>d9fff27</code></a> RLS: 1.1.0</li> <li><a href="https://github.com/pandas-dev/pandas/commit/7f3502d6ed9ec9f1e1a555185e357ce339a8f4bc"><code>7f3502d</code></a> DOC: 1.1.0 release date (<a href="https://github-redirect.dependabot.com/pandas-dev/pandas/issues/35435">#35435</a>)</li> <li><a href="https://github.com/pandas-dev/pandas/commit/6302f7b98ad24adda2d5a98fef3956f04f28039d"><code>6302f7b</code></a> REGR: revert ExtensionBlock.set to be in-place (<a href="https://github-redirect.dependabot.com/pandas-dev/pandas/issues/35271">#35271</a>)</li> <li><a href="https://github.com/pandas-dev/pandas/commit/04e9e0afd476b1b8bed930e47bf60ee20fa78f38"><code>04e9e0a</code></a> DOC: Fixed formatting and errors in whatsnew v1.1.0 (<a href="https://github-redirect.dependabot.com/pandas-dev/pandas/issues/35398">#35398</a>)</li> <li><a href="https://github.com/pandas-dev/pandas/commit/8f54d1401e9924627618c74db9d4671b72b7cb2d"><code>8f54d14</code></a> Remove leftover partial-result code (<a href="https://github-redirect.dependabot.com/pandas-dev/pandas/issues/35397">#35397</a>)</li> <li><a href="https://github.com/pandas-dev/pandas/commit/00ea10c158ac3d4087f6010f375084e9ddfcab99"><code>00ea10c</code></a> Matplotlib 3.3 compatibility fixups (<a href="https://github-redirect.dependabot.com/pandas-dev/pandas/issues/35393">#35393</a>)</li> <li><a href="https://github.com/pandas-dev/pandas/commit/d3343d9e7f2aa93572d73335a1cc489db267d1ee"><code>d3343d9</code></a> PKG: Set max pin for Cython (<a href="https://github-redirect.dependabot.com/pandas-dev/pandas/issues/35396">#35396</a>)</li> <li><a href="https://github.com/pandas-dev/pandas/commit/06e2793a35e74303d7cc5dd47eb5959387244655"><code>06e2793</code></a> Change defaults for rolling/expanding.apply engine kwargs to None (<a href="https://github-redirect.dependabot.com/pandas-dev/pandas/issues/35374">#35374</a>)</li> <li><a href="https://github.com/pandas-dev/pandas/commit/3e88e170a436b5e3cfdfc29f8a7416220658c616"><code>3e88e17</code></a> REGR: MultiIndex Indexing (<a href="https://github-redirect.dependabot.com/pandas-dev/pandas/issues/35353">#35353</a>)</li> <li><a href="https://github.com/pandas-dev/pandas/commit/e673b6907c1ce6ef67d67dc3638310567d1c6415"><code>e673b69</code></a> CI: pin matplotlib for doc build (<a href="https://github-redirect.dependabot.com/pandas-dev/pandas/issues/35358">#35358</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pandas-dev/pandas/compare/v1.0.5...v1.1.0">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 7 days

PR closed larq/docs

Bump mknotebooks from 0.4.0 to 0.4.1.post0.dev3 dependencies

Bumps mknotebooks from 0.4.0 to 0.4.1.post0.dev3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/greenape/mknotebooks/releases">mknotebooks's releases</a>.</em></p> <blockquote> <h2>0.4.1</h2> <h3>Fixed</h3> <ul> <li>When using <code>enable_default_pandas_dataframe_styling: true</code> with mkdocs-material dark mode now renders correctly <a href="https://github-redirect.dependabot.com/greenape/mknotebooks/issues/35">#35</a> (thanks to <a href="https://github.com/timvink">@timvink</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/greenape/mknotebooks/blob/master/CHANGELOG.md">mknotebooks's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <p>All notable changes to mktheapidocs will be documented in this file.</p> <p>The format is based on <a href="https://keepachangelog.com/en/1.0.0/">Keep a Changelog</a>.</p> <h2>[Unreleased]</h2> <h3>Added</h3> <h3>Changed</h3> <h3>Fixed</h3> <h3>Removed</h3> <h2>[0.4.1]</h2> <h3>Fixed</h3> <ul> <li>When using <code>enable_default_pandas_dataframe_styling: true</code> with mkdocs-material dark mode now renders correctly <a href="https://github-redirect.dependabot.com/greenape/mknotebooks/issues/35">#35</a> (thanks to <a href="https://github.com/timvink">@timvink</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/greenape/mknotebooks/commits">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 7 days

push eventlarq/zookeeper

dependabot[bot]

commit sha b3daa9d8e7161ae12c1b5b176a40de49627dceac

Bump isort from 5.2.0 to 5.2.1 (#173) Bumps [isort](https://github.com/timothycrosley/isort) from 5.2.0 to 5.2.1. - [Release notes](https://github.com/timothycrosley/isort/releases) - [Changelog](https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md) - [Commits](https://github.com/timothycrosley/isort/compare/5.2.0...5.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 7 days

delete branch larq/zookeeper

delete branch : dependabot/pip/isort-5.2.1

delete time in 7 days

PR merged larq/zookeeper

Bump isort from 5.2.0 to 5.2.1 dependencies python

Bumps isort from 5.2.0 to 5.2.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/timothycrosley/isort/releases">isort's releases</a>.</em></p> <blockquote> <h3>5.2.1 July 28, 2020</h3> <ul> <li>Update precommit to default to filtering files that are defined in skip.</li> <li>Improved relative path detection for <code>skip</code> config usage.</li> <li>Added recursive symbolic link protection.</li> <li>Implemented <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1177">#1177</a>: Support for color output using <code>--color</code>.</li> <li>Implemented recursive symlink detection support.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md">isort's changelog</a>.</em></p> <blockquote> <h3>5.2.1 July 28, 2020</h3> <ul> <li>Update precommit to default to filtering files that are defined in skip.</li> <li>Improved relative path detection for <code>skip</code> config usage.</li> <li>Added recursive symbolic link protection.</li> <li>Implemented <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1177">#1177</a>: Support for color output using <code>--color</code>.</li> <li>Implemented recursive symlink detection support.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/timothycrosley/isort/commit/444c4ee0f6be426ab6ce51c8385a9dbc7ef6374b"><code>444c4ee</code></a> Prepare 5.2.1 release</li> <li><a href="https://github.com/timothycrosley/isort/commit/d16a72f750b8d523357b5535c62e95b603dfa794"><code>d16a72f</code></a> Add recursive symlink protection</li> <li><a href="https://github.com/timothycrosley/isort/commit/368556e44490bc9c137c3f6b4a181aeddf8ab92e"><code>368556e</code></a> Default filter-files to true in precommit hook</li> <li><a href="https://github.com/timothycrosley/isort/commit/92b84bdc0e4a65f7cfc82e65e80c019fb551338f"><code>92b84bd</code></a> Improve handling of relative path detection</li> <li><a href="https://github.com/timothycrosley/isort/commit/1bf93c7082f78c6c4a5242849808e7fff62f6b95"><code>1bf93c7</code></a> Fix small formatting issue</li> <li><a href="https://github.com/timothycrosley/isort/commit/0b26361d5d8fb824db7e805f3f7c78d02fcd2613"><code>0b26361</code></a> Fix CLI documentation for filter files.</li> <li><a href="https://github.com/timothycrosley/isort/commit/e934ad3741cea336f41ca9a7d0cd478395d904db"><code>e934ad3</code></a> Update changelog</li> <li><a href="https://github.com/timothycrosley/isort/commit/2115ed8c1b0707d3c14c71ea72dcf6279691c867"><code>2115ed8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1349">#1349</a> from sztamas/issue/1177/colored-output-in-check-mode</li> <li><a href="https://github.com/timothycrosley/isort/commit/dc44cc8ccbca40d0ae2e3a93daf1e641ff838c9d"><code>dc44cc8</code></a> Instance method -> static method</li> <li><a href="https://github.com/timothycrosley/isort/commit/d0361b0b1dcaae012e2bc7c28556881751630ef6"><code>d0361b0</code></a> Merge branch 'develop' into issue/1177/colored-output-in-check-mode</li> <li>Additional commits viewable in <a href="https://github.com/timothycrosley/isort/compare/5.2.0...5.2.1">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 7 days

push eventlarq/larq

dependabot[bot]

commit sha b6a0f3707ab691dca9edf8a40ef1dd7ad51890f6

Bump isort from 5.2.0 to 5.2.1 (#543) Bumps [isort](https://github.com/timothycrosley/isort) from 5.2.0 to 5.2.1. - [Release notes](https://github.com/timothycrosley/isort/releases) - [Changelog](https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md) - [Commits](https://github.com/timothycrosley/isort/compare/5.2.0...5.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 7 days

delete branch larq/larq

delete branch : dependabot/pip/isort-5.2.1

delete time in 7 days

PR merged larq/larq

Bump isort from 5.2.0 to 5.2.1 dependencies python

Bumps isort from 5.2.0 to 5.2.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/timothycrosley/isort/releases">isort's releases</a>.</em></p> <blockquote> <h3>5.2.1 July 28, 2020</h3> <ul> <li>Update precommit to default to filtering files that are defined in skip.</li> <li>Improved relative path detection for <code>skip</code> config usage.</li> <li>Added recursive symbolic link protection.</li> <li>Implemented <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1177">#1177</a>: Support for color output using <code>--color</code>.</li> <li>Implemented recursive symlink detection support.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md">isort's changelog</a>.</em></p> <blockquote> <h3>5.2.1 July 28, 2020</h3> <ul> <li>Update precommit to default to filtering files that are defined in skip.</li> <li>Improved relative path detection for <code>skip</code> config usage.</li> <li>Added recursive symbolic link protection.</li> <li>Implemented <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1177">#1177</a>: Support for color output using <code>--color</code>.</li> <li>Implemented recursive symlink detection support.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/timothycrosley/isort/commit/444c4ee0f6be426ab6ce51c8385a9dbc7ef6374b"><code>444c4ee</code></a> Prepare 5.2.1 release</li> <li><a href="https://github.com/timothycrosley/isort/commit/d16a72f750b8d523357b5535c62e95b603dfa794"><code>d16a72f</code></a> Add recursive symlink protection</li> <li><a href="https://github.com/timothycrosley/isort/commit/368556e44490bc9c137c3f6b4a181aeddf8ab92e"><code>368556e</code></a> Default filter-files to true in precommit hook</li> <li><a href="https://github.com/timothycrosley/isort/commit/92b84bdc0e4a65f7cfc82e65e80c019fb551338f"><code>92b84bd</code></a> Improve handling of relative path detection</li> <li><a href="https://github.com/timothycrosley/isort/commit/1bf93c7082f78c6c4a5242849808e7fff62f6b95"><code>1bf93c7</code></a> Fix small formatting issue</li> <li><a href="https://github.com/timothycrosley/isort/commit/0b26361d5d8fb824db7e805f3f7c78d02fcd2613"><code>0b26361</code></a> Fix CLI documentation for filter files.</li> <li><a href="https://github.com/timothycrosley/isort/commit/e934ad3741cea336f41ca9a7d0cd478395d904db"><code>e934ad3</code></a> Update changelog</li> <li><a href="https://github.com/timothycrosley/isort/commit/2115ed8c1b0707d3c14c71ea72dcf6279691c867"><code>2115ed8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/timothycrosley/isort/issues/1349">#1349</a> from sztamas/issue/1177/colored-output-in-check-mode</li> <li><a href="https://github.com/timothycrosley/isort/commit/dc44cc8ccbca40d0ae2e3a93daf1e641ff838c9d"><code>dc44cc8</code></a> Instance method -> static method</li> <li><a href="https://github.com/timothycrosley/isort/commit/d0361b0b1dcaae012e2bc7c28556881751630ef6"><code>d0361b0</code></a> Merge branch 'develop' into issue/1177/colored-output-in-check-mode</li> <li>Additional commits viewable in <a href="https://github.com/timothycrosley/isort/compare/5.2.0...5.2.1">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 7 days

push eventlarq/compute-engine

Lukas Geiger

commit sha bbbe246da68f7e388bb61bbaa7d5f14865771bc3

Run windows build single threaded

view details

push time in 7 days

startedgithub/roadmap

started time in 7 days

push eventlarq/compute-engine

Lukas Geiger

commit sha 99adb0dfb49e62469930021dfec488d613a36cb1

Limit memory for windows build

view details

push time in 7 days

push eventlarq/compute-engine

Lukas Geiger

commit sha bb438edcec1168f39dd53f640c2e11e93fb9403e

Limit memory for windows build

view details

push time in 7 days

issue openedtensorflow/tensorflow

TF 2.3 training slowed down by 15% compared to 2.2

System information

  • Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
  • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
  • TensorFlow installed from (source or binary): binary
  • TensorFlow version (use command below): 2.3.0, 2.4.0.dev20200728
  • Python version: 3.7.8
  • CUDA/cuDNN version: 10.1 / 7.6.5.32
  • GPU model and memory: NVIDIA V100 on 12 vCPUs, 40 GB memory GCP node

Describe the current behavior

When upgrading from TensorFlow 2.2.0 to 2.3.0 we observed a 15 - 20% slow down in training speed for our workloads. Unfortunately I wasn't able to find an easy to reproduce example before the stable release was cut, but below is a code example that illustrates the performance degradation.

When running the training script on a single NVIDIA V100 a 15% performance loss compared to 2.2 can be observed which still is noticable in the latest nightly:

version epoch time step time GPU idle time
2.2.0 34 s 124.3 ms 19.7 ms (15.6 %)
2.3.0 39 s 141.9 ms 37.2 ms (26.1 %)
2.4.0.dev20200728 38s 136.2 ms 31.6 ms (23.2 %)

The example uses auto mixed precision, but the slowdown can also be observed when running in float32 or in multi-GPU training. When looking at the generated execution profile) the slowdown can be explained by an increased idle time of the GPU. Since the training data is cached in memory there should be no IO bottleneck so I am not sure if this performance regression is caused by tf.data or by the runtime itself.

Describe the expected behavior

TensorFlow 2.3 should show equally fast training performance compared to 2.2.

Standalone code to reproduce the issue

import tensorflow as tf
import tensorflow_datasets as tfds

batch_size = 64


def _decode_and_center_crop(image_bytes):
    """Crops to center of image with padding then scales image_size."""
    shape = tf.image.extract_jpeg_shape(image_bytes)
    image_height, image_width, image_size = shape[0], shape[1], 224

    padded_center_crop_size = tf.cast(
        (
            (image_size / (image_size + 32))
            * tf.cast(tf.minimum(image_height, image_width), tf.float32)
        ),
        tf.int32,
    )

    offset_height = ((image_height - padded_center_crop_size) + 1) // 2
    offset_width = ((image_width - padded_center_crop_size) + 1) // 2
    crop_window = tf.stack(
        [offset_height, offset_width, padded_center_crop_size, padded_center_crop_size]
    )
    image = tf.image.decode_and_crop_jpeg(image_bytes, crop_window, channels=3)
    return tf.image.resize(image, [image_size, image_size], method="bicubic")


def preprocessing(data):
    return (
        tf.cast(_decode_and_center_crop(data["image"]), tf.float32),
        data["label"],
    )


dataset = tfds.load(
    "imagenette", decoders={"image": tfds.decode.SkipDecoding()}, split="train",
)

dataset = (
    dataset.cache()
    .repeat(2)  # Artificially increase time per epoch to make it easier to measure
    .map(preprocessing, num_parallel_calls=tf.data.experimental.AUTOTUNE)
    .batch(batch_size)
    .prefetch(1)
)

with tf.distribute.MirroredStrategy().scope():
    model = tf.keras.applications.ResNet50(weights=None)

    model.compile(
        optimizer=tf.train.experimental.enable_mixed_precision_graph_rewrite(
            tf.keras.optimizers.Adam(), loss_scale="dynamic"
        ),
        loss="sparse_categorical_crossentropy",
    )

tb_cbk = tf.keras.callbacks.TensorBoard(f"logs/{tf.__version__}", profile_batch=300)
model.fit(dataset, verbose=2, epochs=3, callbacks=[tb_cbk])

Other info / logs

TensorBoard profiles for the runs mentioned above are available at tb-profile.zip

@mihaimaruseac @jsimsa @guptapriya do you mind taking at this?

created time in 8 days

delete branch lgeiger/tensorflow

delete branch : deprecated_sample_distorted_bounding_box

delete time in 8 days

push eventlarq/compute-engine

Lukas Geiger

commit sha 9ea7d832e173903872b24307a8d81e3d8522bac2

Remove unneeded folders since bazel want's to use it all

view details

push time in 8 days

issue closedrenode/renode-docker

Split dev image into separate tag

The current docker image when built locally has a size of 1.79GB. This is in particular problematic when using Renode on CI systems, as the docker image needs to be pulled for every run.

If I understand the layout of the current image correctly it includes both the prebuilt version of Renode as well as a development version and the required build dependencies.

I think for most users, especially people running Renode on CI, the prebuilt version of Renode should suffice.

I'd propose to split the image into renode:latest which only includes a minimal set of dependencies and the prebuilt version of Renode and renode:dev which contains the source code and all development dependencies similar to how e.g. NVIDIA tags their cuda images.

@PiotrZierhoffer Do you think this solution would work for all use cases, or am I missing something?

closed time in 8 days

lgeiger
more