Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package tensorflow-lite for openSUSE:Factory
checked in at 2022-09-21 14:42:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tensorflow-lite (Old)
and /work/SRC/openSUSE:Factory/.tensorflow-lite.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tensorflow-lite"
Wed Sep 21 14:42:53 2022 rev:2 rq:1005092 version:2.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/tensorflow-lite/tensorflow-lite.changes
2022-05-31 15:48:26.180030208 +0200
+++
/work/SRC/openSUSE:Factory/.tensorflow-lite.new.2083/tensorflow-lite.changes
2022-09-21 14:43:55.357995006 +0200
@@ -1,0 +2,292 @@
+Tue Sep 20 00:13:13 UTC 2022 - Ben Greiner <[email protected]>
+
+- Update to 2.10.0
+ * boo#1203507 (CVE-2022-35934)
+- Breaking Changes
+ * Causal attention in keras.layers.Attention and
+ keras.layers.AdditiveAttention is now specified in the call()
+ method via the use_causal_mask argument (rather than in the
+ constructor), for consistency with other layers.
+ * Some files in tensorflow/python/training have been moved to
+ tensorflow/python/tracking and tensorflow/python/checkpoint.
+ Please update your imports accordingly, the old files will be
+ removed in Release 2.11.
+ * tf.keras.optimizers.experimental.Optimizer will graduate in
+ Release 2.11, which means tf.keras.optimizers.Optimizer will
+ be an alias of tf.keras.optimizers.experimental.Optimizer. The
+ current tf.keras.optimizers.Optimizer will continue to be
+ supported as tf.keras.optimizers.legacy.Optimizer,
+ e.g.,tf.keras.optimizers.legacy.Adam. Most users won't be
+ affected by this change, but please check the API doc if any
+ API used in your workflow is changed or deprecated, and make
+ adaptions. If you decide to keep using the old optimizer,
+ please explicitly change your optimizer to
+ tf.keras.optimizers.legacy.Optimizer.
+ * RNG behavior change for tf.keras.initializers. Keras
+ initializers will now use stateless random ops to generate
+ random numbers.
+ - Both seeded and unseeded initializers will always generate
+ the same values every time they are called (for a given
+ variable shape). For unseeded initializers (seed=None), a
+ random seed will be created and assigned at initializer
+ creation (different initializer instances get different
+ seeds).
+ - An unseeded initializer will raise a warning if it is reused
+ (called) multiple times. This is because it would produce
+ the same values each time, which may not be intended.
+- Deprecations
+ * The C++ tensorflow::Code and tensorflow::Status will become
+ aliases of respectively absl::StatusCode and absl::Status in
+ some future release.
+ - Use tensorflow::OkStatus() instead of
+ tensorflow::Status::OK().
+ - Stop constructing Status objects from
+ tensorflow::error::Code.
+ - One MUST NOT access tensorflow::errors::Code fields.
+ Accessing tensorflow::error::Code fields is fine.
+ + Use the constructors such as
+ tensorflow::errors:InvalidArgument to create status using
+ an error code without accessing it.
+ + Use the free functions such as
+ tensorflow::errors::IsInvalidArgument if needed.
+ + In the last resort, use
+
e.g.static_cast<tensorflow::errors::Code>(error::Code::INVALID_ARGUMENT)
+ or static_cast<int>(code) for comparisons.
+ * tensorflow::StatusOr will also become in the future alias to
+ absl::StatusOr, so use StatusOr::value instead of
+ StatusOr::ConsumeValueOrDie.
+- Major Features and Improvements
+ * tf.lite:
+ - New operations supported:
+ + tflite SelectV2 now supports 5D.
+ + tf.einsum is supported with multiple unknown shapes.
+ + tf.unsortedsegmentprod op is supported.
+ + tf.unsortedsegmentmax op is supported.
+ + tf.unsortedsegmentsum op is supported.
+ - Updates to existing operations:
+ + tfl.scatter_nd now supports I1 for update arg.
+ - Upgrade Flatbuffers v2.0.5 from v1.12.0
+ * tf.keras:
+ - EinsumDense layer is moved from experimental to core. Its
+ import path is moved from
+ tf.keras.layers.experimental.EinsumDense to
+ tf.keras.layers.EinsumDense.
+ - Added tf.keras.utils.audio_dataset_from_directory utility to
+ easily generate audio classification datasets from
+ directories of .wav files.
+ - Added subset="both" support in
+
tf.keras.utils.image_dataset_from_directory,tf.keras.utils.text_dataset_from_directory,
+ and audio_dataset_from_directory, to be used with the
+ validation_split argument, for returning both dataset splits
+ at once, as a tuple.
+ - Added tf.keras.utils.split_dataset utility to split a
+ Dataset object or a list/tuple of arrays into two Dataset
+ objects (e.g. train/test).
+ - Added step granularity to BackupAndRestore callback for
+ handling distributed training failures & restarts. The
+ training state can now be restored at the exact epoch and
+ step at which it was previously saved before failing.
+ - Added tf.keras.dtensor.experimental.optimizers.AdamW. This
+ optimizer is similar as the existing
+ keras.optimizers.experimental.AdamW, and works in the
+ DTensor training use case.
+ - Improved masking support for
+ tf.keras.layers.MultiHeadAttention.
+ + Implicit masks for query, key and value inputs will
+ automatically be used to compute a correct attention mask
+ for the layer. These padding masks will be combined with
+ any attention_mask passed in directly when calling the
+ layer. This can be used with tf.keras.layers.Embedding
+ with mask_zero=True to automatically infer a correct
+ padding mask.
+ + Added a use_causal_mask call time arugment to the layer.
+ Passing use_causal_mask=True will compute a causal
+ attention mask, and optionally combine it with any
+ attention_mask passed in directly when calling the layer.
+ - Added ignore_class argument in the loss
+ SparseCategoricalCrossentropy and metrics IoU and MeanIoU,
+ to specify a class index to be ignored during loss/metric
+ computation (e.g. a background/void class).
+ - Added
+ tf.keras.models.experimental.SharpnessAwareMinimization.
+ This class implements the sharpness-aware minimization
+ technique, which boosts model performance on various tasks,
+ e.g., ResNet on image classification.
+ * tf.data:
+ - Added support for cross-trainer data caching in tf.data
+ service. This saves computation resources when concurrent
+ training jobs train from the same dataset. See
+
(https://www.tensorflow.org/api_docs/python/tf/data/experimental/service#sharing_tfdata_service_with_concurrent_trainers)
+ for more details.
+ - Added dataset_id to
+ tf.data.experimental.service.register_dataset. If provided,
+ tf.data service will use the provided ID for the dataset. If
+ the dataset ID already exists, no new dataset will be
+ registered. This is useful if multiple training jobs need to
+ use the same dataset for training. In this case, users
+ should call register_dataset with the same dataset_id.
+ - Added a new field, inject_prefetch, to
+ tf.data.experimental.OptimizationOptions. If it is set to
+ True,tf.data will now automatically add a prefetch
+ transformation to datasets that end in synchronous
+ transformations. This enables data generation to be
+ overlapped with data consumption. This may cause a small
+ increase in memory usage due to buffering. To enable this
+ behavior, set inject_prefetch=True in
+ tf.data.experimental.OptimizationOptions.
+ - Added a new value to
+ tf.data.Options.autotune.autotune_algorithm: STAGE_BASED. If
+ the autotune algorithm is set to STAGE_BASED, then it runs a
+ new algorithm that can get the same performance with lower
+ CPU/memory usage.
+ - Added tf.data.experimental.from_list, a new API for creating
+ Datasets from lists of elements.
+ * tf.distribute:
+ - Added tf.distribute.experimental.PreemptionCheckpointHandler
+ to handle worker preemption/maintenance and cluster-wise
+ consistent error reporting for
+ tf.distribute.MultiWorkerMirroredStrategy. Specifically, for
+ the type of interruption with advance notice, it
+ automatically saves a checkpoint, exits the program without
+ raising an unrecoverable error, and restores the progress
+ when training restarts.
+ * tf.math:
+ - Added tf.math.approx_max_k and tf.math.approx_min_k which
+ are the optimized alternatives to tf.math.top_k on TPU. The
+ performance difference range from 8 to 100 times depending
+ on the size of k. When running on CPU and GPU, a
+ non-optimized XLA kernel is used.
+ * tf.train:
+ - Added tf.train.TrackableView which allows users to inspect
+ the TensorFlow Trackable object (e.g. tf.Module, Keras
+ Layers and models).
+ * tf.vectorized_map:
+ - Added an optional parameter: warn. This parameter controls
+ whether or not warnings will be printed when operations in
+ the provided fn fall back to a while loop.
+ * XLA:
+ - MWMS is now compilable with XLA.
+ - Compute Library for the Arm?? Architecture (ACL) is supported
+ for aarch64 CPU XLA runtime
+ * CPU performance optimizations:
+ - x86 CPUs: oneDNN bfloat16 auto-mixed precision grappler
+ graph optimization pass has been renamed from
+ auto_mixed_precision_mkl to
+ auto_mixed_precision_onednn_bfloat16. See example usage
+ here.
+ - aarch64 CPUs: Experimental performance optimizations from
+ Compute Library for the Arm?? Architecture (ACL) are
+ available through oneDNN in the default Linux aarch64
+ package (pip install tensorflow).
+ + The optimizations are disabled by default.
+ + Set the environment variable TF_ENABLE_ONEDNN_OPTS=1 to
+ enable the optimizations. Setting the variable to 0 or
+ unsetting it will disable the optimizations.
+ + These optimizations can yield slightly different numerical
+ results from when they are off due to floating-point
+ round-off errors from different computation approaches and
+ orders.
+ + To verify that the optimizations are on, look for a
+ message with "oneDNN custom operations are on" in the log.
+ If the exact phrase is not there, it means they are off.
+- Bug Fixes and Other Changes
+ * New argument experimental_device_ordinal in
+ LogicalDeviceConfiguration to control the order of logical
+ devices. (GPU only)
+ * tf.keras:
+ - Changed the TensorBoard tag names produced by the
++++ 95 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/tensorflow-lite/tensorflow-lite.changes
++++ and
/work/SRC/openSUSE:Factory/.tensorflow-lite.new.2083/tensorflow-lite.changes
Old:
----
clog.tar.gz
cpuinfo.zip
tensorflow-2.9.1.tar.gz
New:
----
cpuinfo.tar.gz
tensorflow-2.10.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tensorflow-lite.spec ++++++
--- /var/tmp/diff_new_pack.V3jMrl/_old 2022-09-21 14:43:57.229999895 +0200
+++ /var/tmp/diff_new_pack.V3jMrl/_new 2022-09-21 14:43:57.237999916 +0200
@@ -1,5 +1,5 @@
#
-# spec file
+# spec file for package tensorflow-lite
#
# Copyright (c) 2022 SUSE LLC
#
@@ -21,7 +21,7 @@
%define pythons python3
Name: tensorflow-lite
-Version: 2.9.1
+Version: 2.10.0
Release: 0
Summary: A framework used for deep learning for mobile and embedded
devices
License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND
MPL-2.0
@@ -44,18 +44,16 @@
Source14:
https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz#/arm_neon_2_x86_sse.tar.gz
# Deps sources for Tensorflow-Lite (use same eigen, gemmlowp and abseil_cpp
packages as non lite version)
# License15: Apache-2.0
-Source15:
https://github.com/google/flatbuffers/archive/v1.12.0.tar.gz#/flatbuffers.tar.gz
+Source15:
https://github.com/google/flatbuffers/archive/v2.0.6.tar.gz#/flatbuffers.tar.gz
# License16: BSD like
Source16:
https://storage.googleapis.com/mirror.tensorflow.org/github.com/petewarden/OouraFFT/archive/v1.0.tar.gz#/fft2d.tgz
# Source17: Apache-2.0
-Source17:
https://github.com/google/ruy/archive/e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip#/ruy.zip
+Source17:
https://github.com/google/ruy/archive/841ea4172ba904fe3536789497f9565f2ef64129.zip#/ruy.zip
# License18: BSD-3-Clause
-Source18:
https://github.com/google/XNNPACK/archive/11b2812d64e49bab9b6c489f79067fc94e69db9f.tar.gz#/xnnpack.zip
+Source18:
https://github.com/google/XNNPACK/archive/6b409ac0a3090ebe74d0cdfb494c4cd91485ad39.zip#/xnnpack.zip
# transitive tensorflow-lite dependencies for xnnpack
-# License20: BSD 2-Clause
-Source20:
https://github.com/pytorch/cpuinfo/archive/d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz#/clog.tar.gz
# License21: BSD 2-Clause
-Source21:
https://storage.googleapis.com/mirror.tensorflow.org/github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip#/cpuinfo.zip
+Source21:
https://github.com/pytorch/cpuinfo/archive/5e63739504f0f8e18e941bd63b2d6d42536c7d90.tar.gz#/cpuinfo.tar.gz
# NOTE: the github url is non-deterministic for the following zipfile archives
(!?) Content is the same, but the hashes of the zipfiles differ.
# License30: MIT
# Source30:
https://github.com/Maratyszcza/FP16/archive/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip
#/FP16.zip
@@ -79,9 +77,9 @@
# We use some macros here but not singlespec
BuildRequires: python-rpm-macros
BuildRequires: python3-devel >= 3.7
-BuildRequires: python3-setuptools
BuildRequires: python3-numpy-devel >= 1.19.2
BuildRequires: python3-pybind11-devel
+BuildRequires: python3-setuptools
BuildRequires: unzip
Provides: python3-tflite-runtime = %{version}-%{release}
Provides: python3-tflite_runtime = %{version}-%{release}
@@ -129,9 +127,6 @@
sed -i '1{/env python/d}' tensorflow/lite/tools/visualize.py
# prepare third-party sources, transitive dependencies of FP16
-# cpuinfo and clog required both as overridable fetch content as well as FP16
transitive sources
-tar -x -f %{SOURCE20} -C third_party/clog
-unzip %{SOURCE21} -d third_party/cpuinfo
unzip %{SOURCE30} -d third_party/FP16
unzip %{SOURCE31} -d third_party/FP16
unzip %{SOURCE32} -d third_party/FP16
@@ -156,6 +151,8 @@
%build
# --- Build tensorflow-lite as part of the minimal executable ---
+# -Werror=return-type fails in xnnpack
+%global optflags %(echo %{optflags} | sed s/-Werror=return-type//)
pushd tflite-build
%cmake ../../tensorflow/lite/examples/minimal \
-DBUILD_STATIC_LIBS:BOOL=ON \
@@ -170,10 +167,8 @@
-DOVERRIDABLE_FETCH_CONTENT_fft2d_URL=%{SOURCE16} \
-DOVERRIDABLE_FETCH_CONTENT_ruy_URL=%{SOURCE17} \
-DOVERRIDABLE_FETCH_CONTENT_xnnpack_URL=%{SOURCE18} \
- -DOVERRIDABLE_FETCH_CONTENT_clog_URL=%{SOURCE20} \
+ -DOVERRIDABLE_FETCH_CONTENT_clog_URL=%{SOURCE21} \
-DOVERRIDABLE_FETCH_CONTENT_cpuinfo_URL=%{SOURCE21} \
- -DCLOG_SOURCE_DIR:PATH=$(realpath ../../third_party/clog/cpuinfo-*) \
- -DCPUINFO_SOURCE_DIR:PATH=$(realpath ../../third_party/cpuinfo/cpuinfo-*) \
-DFP16_SOURCE_DIR:PATH=$(realpath ../../third_party/FP16/FP16-*) \
-DFXDIV_SOURCE_DIR:PATH=$(realpath ../../third_party/FP16/FXdiv-*) \
-DPTHREADPOOL_SOURCE_DIR:PATH=$(realpath
../../third_party/FP16/pthreadpool-*) \
@@ -231,7 +226,7 @@
export PROJECT_NAME=tflite_runtime
export PACKAGE_VERSION=%{version}
%python3_install --install-lib=%{python3_sitearch}
-%fdupes %{buildroot}%{python3_siterarch}
+%fdupes %{buildroot}%{python3_sitearch}
popd
%check
++++++ flatbuffers.tar.gz ++++++
++++ 180502 lines of diff (skipped)
++++++ ruy.zip ++++++
Binary files /var/tmp/diff_new_pack.V3jMrl/_old and
/var/tmp/diff_new_pack.V3jMrl/_new differ
++++++ tensorflow-2.9.1.tar.gz -> tensorflow-2.10.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/tensorflow-lite/tensorflow-2.9.1.tar.gz
/work/SRC/openSUSE:Factory/.tensorflow-lite.new.2083/tensorflow-2.10.0.tar.gz
differ: char 12, line 1
++++++ xnnpack.zip ++++++
Binary files /var/tmp/diff_new_pack.V3jMrl/_old and
/var/tmp/diff_new_pack.V3jMrl/_new differ