larq/larq 287
An Open-Source Library for Training Binarized Neural Networks
A GitHub action that runs black code formatter for Python
Useful extra functionality for TensorFlow maintained by SIG-addons
Declarative statistical visualization library for Python
One framework. Mobile & desktop.
:tv: A low level parser for ANSI sequences.
A library for screen recording
Atom Package Manager
The hackable text editor
:wavy_dash: A generic display and progress for things that take time
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.
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.
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.
comment created time in 16 hours
push eventlarq/compute-engine
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.
commit sha 112eba000f9ebb7a8a204c01bfbba420f0f1f35b
Add `make_unsigned` to `unpack_matrix` type (#442)
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit sha a542579ff954cccdc03b7196007f05ea4a0cfb33
Add Android AAR build to release workflow (#451)
commit sha e9ca6be1f2f14edd9622897362ed62e0e58f89d8
Add ARM32 kernel implementation (#432) Co-authored-by: Adam Hillier <[email protected]>
commit sha 4c8501041ed49a3c5bae39f08c0d2a4cd2d537fb
:arrow_up: 0.4.0.dev20200728
commit sha b91814799beef26f665653a0a640da52cfdf03c4
Set PreferredToolArchitecture on windows
commit sha 27530ac0b64faa18f62ba25b7b75781280ea3513
Limit ram to fix windows build
commit sha dfe24fb6f7a757f8a5660a2bbc03c9e337a10dfc
Remove unneeded folders since bazel want's to use it all
commit sha ee9da8f3251a250eb229dcbc431e63acaefd9490
Limit memory for windows build
commit sha 28279b685847f42a03c43354e7d2f77b5796363c
Run windows build single threaded
commit sha 5d6e5d4dbd959b5087fb4bd6623d8e7f133eaef8
Use C:/ to store bazel cache
commit sha 7d316e4c74281516b9dc68098a1ca389227c1911
Don't limit jobs for windows build
commit sha cefc30bdee2caac7686a7b9193a975c97ae5ab26
Revert a bunch of memory flags on windows
commit sha f2b429a2c35f0eb70a1ddd22e68ec377c2e75359
Set --jobs=2 for windows builds
commit sha 587dbd27253c044a879acba8e7f75e9247024675
Test AArch32 release build
push time in 18 hours
PR opened larq/compute-engine
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?
Related issue number
<!-- Are there any issues opened that will be resolved by merging this change? -->
pr created time in 18 hours
push eventlarq/compute-engine
commit sha 9b6428b7ad9fa1bb48af8ae95ffb2982ccc6978e
Test AArch32 release build
push time in 18 hours
push eventlarq/compute-engine
commit sha e1520000a98e824e3c81cdebcf0fb2367494942f
Set --jobs=2 for windows builds
push time in 18 hours
push eventlarq/compute-engine
commit sha a542579ff954cccdc03b7196007f05ea4a0cfb33
Add Android AAR build to release workflow (#451)
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
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.
pr closed time in 18 hours
PR opened larq/compute-engine
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.
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
commit sha b3a0882aef16ee6f04e080e065087cfde8e0f9e7
Add docs for inference type kwargs
push time in 20 hours
push eventlarq/compute-engine
commit sha 687f67d3c6f0ae14e68da1d29cac68e5e9c4b1ef
Support full int8 QAT models in converter
push time in 20 hours
push eventlarq/compute-engine
commit sha 1b26f78d8d28f771f03963b0fbb1f7cfdddfd5f5
Build Android AAR during release process
push time in a day
push eventlarq/compute-engine
commit sha df7f539cc46b16dc1c343b422a4dff589b8c5f63
Revert a bunch of memory flags on windows
commit sha 2189f5b36a5aa2efa00a95a7102b65acccb73f7b
Build Android AAR during release process
push time in a day
push eventlarq/compute-engine
commit sha 1920f713cd149fb9dfb89780dfe4ec1f87188fa0
Support full int8 QAT models in converter
push time in a day
push eventlarq/compute-engine
commit sha 1faf8d1b39ff88c9dd55064e286ca051a0eb83c1
Support full int8 QAT models in converter
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) [email protected]("model_cls", [toy_model, toy_model_int8])[email protected]("inference_input_type", [tf.int8, tf.float32])[email protected]("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.
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.
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.
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.
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.
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.
comment created time in a day
PR opened larq/compute-engine
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.
pr created time in a day
push eventlgeiger/tflite
commit sha 91a94331fc03aca32bb5953524c42a8a1f0520c2
pin shrub to 0.0.2 to fix CI
push time in a day
PR opened jackwish/tflite
This PR updates the schema to match TensorFlow version 2.3.0
pr created time in a day
push eventlarq/docs
commit sha f9850908a45d0864bc5b62f91545873de541b238
Add RealToBinNet to zoo.literature (#158) This probably got lost in the refactor #68.
push time in 2 days
PR merged larq/docs
This probably got lost in the refactor #68.
Tested locally; docs look good.
pr closed time in 2 days
push eventlarq/docs
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
push time in 2 days
PR merged larq/docs
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
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.
comment created time in 2 days
push eventlarq/compute-engine
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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
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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
pr closed time in 2 days
push eventlarq/docs
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
push time in 3 days
PR merged larq/docs
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
pr closed time in 3 days
startedAliyunContainerService/gpushare-scheduler-extender
started time in 5 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.
comment created time in 5 days
push eventlarq/zookeeper
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
push time in 5 days
PR merged larq/zookeeper
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
pr closed time in 5 days
push eventlarq/zoo
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
push time in 5 days
PR merged larq/zoo
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
pr closed time in 5 days
push eventlarq/larq
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
push time in 5 days
PR merged larq/larq
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
pr closed time in 5 days
push eventlarq/larq
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
push time in 5 days
PR merged larq/larq
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
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.
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.
comment created time in 6 days
issue commentlarq/larq
@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.
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.
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
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.
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?
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.
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?
comment created time in 6 days
pull request commenttensorflow/tensorflow
Fix invalid fusion of Matmul and Mul
@liufengdb Could you please take a look?
comment created time in 6 days
push eventlarq/compute-engine
commit sha eeb04f998b9d7abeaa8a048b93ce9505f3c96f5a
Don't limit jobs for windows build
push time in 6 days
delete branch lgeiger/tensorflow
delete branch : deprecated-get_next_as_optional
delete time in 7 days
startedJJGO/shrinkbench
started time in 7 days
push eventlarq/compute-engine
commit sha 0c87200df76319793c3c055f8c07d0ecb5ec223a
Use C:/ to store bazel cache
push time in 7 days
push eventlarq/compute-engine
commit sha 974b99f2d0541f3da89f0b4bded15a51cd73b3f5
Use C:/ to store bazel cache
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.
comment created time in 7 days
push eventlarq/zoo
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
push time in 7 days
PR merged larq/zoo
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
pr closed time in 7 days
push eventlarq/docs
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
push time in 7 days
PR merged larq/docs
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
pr closed time in 7 days
PR closed larq/docs
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
pr closed time in 7 days
push eventlarq/zookeeper
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
push time in 7 days
PR merged larq/zookeeper
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
pr closed time in 7 days
push eventlarq/larq
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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
push time in 7 days
PR merged larq/larq
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 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
pr closed time in 7 days
push eventlarq/compute-engine
commit sha bbbe246da68f7e388bb61bbaa7d5f14865771bc3
Run windows build single threaded
push time in 7 days
startedgithub/roadmap
started time in 7 days
push eventlarq/compute-engine
commit sha 99adb0dfb49e62469930021dfec488d613a36cb1
Limit memory for windows build
push time in 7 days
push eventlarq/compute-engine
commit sha bb438edcec1168f39dd53f640c2e11e93fb9403e
Limit memory for windows build
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
commit sha 9ea7d832e173903872b24307a8d81e3d8522bac2
Remove unneeded folders since bazel want's to use it all
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