Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Update #3

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

Initial Update #3

wants to merge 13 commits into from

Conversation

pyup-bot
Copy link

This PR sets up pyup.io on this repo and updates all dependencies at once, in a single branch.

Subsequent pull requests will update one dependency at a time, each in their own branch. If you want to start with that right away, simply close this PR.

Update imageai from 2.1.3 to 2.1.3.

Changelog

2.1.0

This is a major ImageAI release that provides a wider range of APIs, specifically for training and detecting with custom YOLOv3 models on custom datasets. 

What's new
- Training of  **custom YOLOv3 models** on custom image datasets annotated in Pascal VOC format
- Single and multi-model **mAP** evaluation of saved custom models
- Object detection in images using **custom YOLOv3 models**
- Video Object detection in using **custom YOLOv3 models**
- Video Detection analysis in using **custom YOLOv3 models**
- Support for file and Numpy array inputs/outputs for all custom detection

essential-v4
This release contain supporting files for training custom object detection models and performing detection. The files in this release are:

- **pretrained-yolov3.h5** :  A pre-trained YOLOv3 model for transfer learning when training new detection models

- **hololens.zip** :    A sample detection dataset of the Hololens with Pascal VOC annotation

- **headset.zip** :   A sample detection dataset of Hololens and Oculus headsets with Pascal VOC annotation

- **hololens-ex-60--loss-2.76.h5** : A YOLOv3 model trained with ImageAI on the Hololens dataset

- **detection_config.json** :    The configuration JSON file for performing detection in images and video using the trained YOLOv3 model for Hololens.

2.0.3

This is a major ImageAI release that provides a wider range of APIs for custom models and recognition. This wheel is provided for Python 3.x .

What's new:

- Options to set video detection timeout in seconds 
- Options to save trained custom model in full 
- Support for running custom prediction with fully saved model without specifying network type 
- Support for running custom prediction with any fully saved Keras model 
- Support for converting custom trained models to Tensorflow (.pb) format 
- Support for continuous training from previously saved custom model 
- Support for transfer learning from pre-trained models for small datasets
- Only models with increased accuracy will be saved during training 
- Support for loading and prediction with multiple custom models 
- Support for exporting models to DeepStack format 


models-v3
In this release are models used in the sample codes.

2.0.2

This is a major ImageAI release that provides a wider range of APIs . This wheel is provided for Python 3.x . 


What's new:
- Bug Fixes

- Option to state image size during custom image prediction model trainings 

- Object Detection and Video Object detection now returns bounding box coordinates ('box points') (x1,y1,x2, y2) for each object detected in addition to object's 'name' and 'percentage probability' 

- Options to hide 'percentage probability' and/or object 'name' from being shown in detected image or video - Support for video object detection on video live stream from device camera, connected camera and IP camera 

- Support for YOLOv3 and TinyYOLOv3 for all object detection and video object detection tasks. - Video object detection for all input types (video file and camera) now allows defining custom functions to execute after each frame, each second and each minute of the video is detected and processed. Also include option to specify custom function at once video is fully detected and processed 

- For each custom function specified, ImageAI returns the frame/seconds/minute/full video analysis of the detections that include the objects' details ( name , percentage probability, box_points), number of instance of each unique object detected (counts) and overall average count of the number of instance of each unique object detected in the case of second / minute / full video analysis

- Options to return detected frame at every frame, second or minute processed as a Numpy array.

2.0.1

This is a major <b>ImageAI</b> release that provides a wider range of APIs and the base implementation of future updates.  This wheel is provided for Python 3.x . <br>
<br> What's new:
<br>
- Addition of Custom Image Prediction model trainings using SqueezeNet, ResNet50, InceptionV3 and DenseNet121 <br>
- Addition of Custom Image Prediction with custom trained models and generated model class json  <br>
- Preview Release: Addition of Video Object Detection and Video Custom Objects Detection (object tracking)  <br>
- Addition of file, numpy array and stream input types for all image prediction and object detection tasks (file inputs only for video detections)  <br>
- Addition of file and numpy array output types for object detection and custom object detection in images  <br>
- Introduction of 4 speed modes ('normal', 'fast', 'faster' and 'fastest') for image prediction, allowing prediction time to reduce by 50% at 'fastest' while maintaining prediction accuracy  <br>
- Introduction of 5 speed modes ('normal', 'fast', 'faster', 'fastest' and 'flash') for all object detection and video object detection tasks, allowing detection time to reduce by over 80%  <br>
with 'flash' detection accuracy balanced with 'minimum_percentage_probability' which is kept at low values <br>
- Introduction of rate of frame detections, allowing developers to adjust intervals of detections in videos in favour of real time/close to real time result. <br>  <br>
<br>

1.0.2

This version of ImageAI supports Image Prediction, Object Detection and Extraction.

1.0.1

This release contains the models pre-trained on IdenProf, the Identifiable Professionals datatset as well as the model JSON class mapping file.

1.0

This release contains pre-trained models for Image Recognition and Object Recognition tasks in ImageAI
Links

Update keras from 2.2.4 to 2.2.4.

Changelog

2.2.4

This is a bugfix release, addressing two issues:

- Ability to save a model when a file with the same name already exists.
- Issue with loading legacy config files for the `Sequential` model.

[See here](https://github.com/keras-team/keras/releases/tag/2.2.3) for the changelog since 2.2.2.

2.2.3

Areas of improvement

- API completeness & usability improvements
- Bug fixes
- Documentation improvements

API changes

- Keras models can now be safely pickled.
- Consolidate the functionality of the activation layers `ThresholdedReLU` and `LeakyReLU` into the `ReLU` layer.
- As a result, the `ReLU` layer now takes new arguments `negative_slope` and `threshold`, and the `relu` function in the backend takes a new `threshold` argument.
- Add `update_freq` argument in `TensorBoard` callback, controlling how often to write TensorBoard logs.
- Add the `exponential` function to `keras.activations`.
- Add `data_format` argument in all 4 `Pooling1D` layers.
- Add `interpolation` argument in `UpSampling2D` layer and in `resize_images` backend function, supporting modes `"nearest"` (previous behavior, and new default) and `"bilinear"` (new).
- Add `dilation_rate` argument in `Conv2DTranspose` layer and in `conv2d_transpose` backend function.
- The `LearningRateScheduler` now receives the `lr` key as part of the `logs` argument in `on_epoch_end` (current value of the learning rate).
- Make `GlobalAveragePooling1D` layer support masking.
- The the `filepath` argument `save_model` and `model.save()` can now be a `h5py.Group` instance.
- Add argument `restore_best_weights` to `EarlyStopping` callback (optionally reverts to the weights that obtained the highest monitored score value).
- Add `dtype` argument to `keras.utils.to_categorical`.
- Support `run_options` and `run_metadata` as optional session arguments in `model.compile()` for the TensorFlow backend.

Breaking changes

- Modify the return value of `Sequential.get_config()`. Previously, the return value was a list of the config dictionaries of the layers of the model. Now, the return value is a dictionary with keys `layers`, `name`, and an optional key `build_input_shape`. The old config is equivalent to `new_config['layers']`. This makes the output of `get_config` consistent across all model classes.


Credits

Thanks to our 38 contributors whose commits are featured in this release:

BertrandDechoux, ChrisGll, Dref360, JamesHinshelwood, MarcoAndreaBuchmann, ageron, alfasst, blue-atom, chasebrignac, cshubhamrao, danFromTelAviv, datumbox, farizrahman4u, fchollet, fuzzythecat, gabrieldemarmiesse, hadifar, heytitle, hsgkim, jankrepl, joelthchao, knightXun, kouml, linjinjin123, lvapeab, nikoladze, ozabluda, qlzh727, roywei, rvinas, sriyogesh94, tacaswell, taehoonlee, tedyu, xuhdev, yanboliang, yongzx, yuanxiaosc

2.2.2

This is a bugfix release, fixing a significant bug in `multi_gpu_model`.

For changes since version 2.2.0, see release notes for [Keras 2.2.1](https://github.com/keras-team/keras/releases/tag/2.2.1).

2.2.1

Areas of improvement

- Bugs fixes
- Performance improvements
- Documentation improvements

API changes

- Add `output_padding` argument in `Conv2DTranspose` (to override default padding behavior).
- Enable automatic shape inference when using Lambda layers with the CNTK backend.

Breaking changes

No breaking changes recorded.

Credits

Thanks to our 33 contributors whose commits are featured in this release:

Ajk4, Anner-deJong, Atcold, Dref360, EyeBool, ageron, briannemsick, cclauss, davidtvs, dstine, eTomate, ebatuhankaynak, eliberis, farizrahman4u, fchollet, fuzzythecat, gabrieldemarmiesse, jlopezpena, kamil-kaczmarek, kbattocchi, kmader, kvechera, maxpumperla, mkaze, pavithrasv, rvinas, sachinruk, seriousmac, soumyac1999, taehoonlee, yanboliang, yongzx, yuyang-huang

2.2.0

Areas of improvements

- New model definition API: `Model` subclassing.
- New input mode: ability to call models on TensorFlow tensors directly (TensorFlow backend only).
- Improve feature coverage of Keras with the Theano and CNTK backends.
- Bug fixes and performance improvements.
- Large refactors improving code structure, code health, and reducing test time. In particular:
* The Keras engine now follows a much more modular structure.
* The `Sequential` model is now a plain subclass of `Model`.
* The modules `applications` and `preprocessing` are now externalized to their own repositories ([keras-applications](https://github.com/keras-team/keras-applications) and [keras-preprocessing](https://github.com/keras-team/keras-preprocessing)).

API changes

- Add `Model` subclassing API (details below).
- Allow symbolic tensors to be fed to models, with TensorFlow backend (details below).
- Enable CNTK and Theano support for layers `SeparableConv1D`, `SeparableConv2D`, as well as backend methods `separable_conv1d` and `separable_conv2d` (previously only available for TensorFlow).
- Enable CNTK and Theano support for applications `Xception` and `MobileNet` (previously only available for TensorFlow).
- Add `MobileNetV2` application  (available for all backends).
- Enable loading external (non built-in) backends by changing your `~/.keras.json` configuration file (e.g. PlaidML backend).
- Add `sample_weight` in `ImageDataGenerator`.
- Add `preprocessing.image.save_img` utility to write images to disk.
- Default `Flatten` layer's `data_format` argument to `None` (which defaults to global Keras config).
- `Sequential` is now a plain subclass of `Model`. The attribute `sequential.model` is deprecated.
- Add `baseline` argument in `EarlyStopping` (stop training if a given baseline isn't reached).
- Add `data_format` argument to `Conv1D`.
- Make the model returned by `multi_gpu_model` serializable.
- Support input masking in `TimeDistributed` layer.
- Add an `advanced_activation` layer `ReLU`, making the ReLU activation easier to configure while retaining easy serialization capabilities.
- Add `axis=-1` argument in backend crossentropy functions specifying the class prediction axis in the input tensor.

New model definition API : `Model` subclassing

In addition to the `Sequential` API and the functional `Model` API, you may now define models by subclassing the `Model` class and writing your own `call` forward pass:

python
import keras

class SimpleMLP(keras.Model):

 def __init__(self, use_bn=False, use_dp=False, num_classes=10):
     super(SimpleMLP, self).__init__(name='mlp')
     self.use_bn = use_bn
     self.use_dp = use_dp
     self.num_classes = num_classes

     self.dense1 = keras.layers.Dense(32, activation='relu')
     self.dense2 = keras.layers.Dense(num_classes, activation='softmax')
     if self.use_dp:
         self.dp = keras.layers.Dropout(0.5)
     if self.use_bn:
         self.bn = keras.layers.BatchNormalization(axis=-1)

 def call(self, inputs):
     x = self.dense1(inputs)
     if self.use_dp:
         x = self.dp(x)
     if self.use_bn:
         x = self.bn(x)
     return self.dense2(x)

model = SimpleMLP()
model.compile(...)
model.fit(...)


Layers are defined in `__init__(self, ...)`, and the forward pass is specified in `call(self, inputs)`. In `call`, you may specify custom losses by calling `self.add_loss(loss_tensor)` (like you would in a custom layer).

New input mode: symbolic TensorFlow tensors

With Keras 2.2.0 and TensorFlow 1.8 or higher, you may `fit`, `evaluate` and `predict` using symbolic TensorFlow tensors (that are expected to yield data indefinitely). The API is similar to the one in use in `fit_generator` and other generator methods:

python
iterator = training_dataset.make_one_shot_iterator()
x, y = iterator.get_next()

model.fit(x, y, steps_per_epoch=100, epochs=10)

iterator = validation_dataset.make_one_shot_iterator()
x, y = iterator.get_next()
model.evaluate(x, y, steps=50)


This is achieved by dynamically rewiring the TensorFlow graph to feed the input tensors to the existing model placeholders. There is no performance loss compared to building your model on top of the input tensors in the first place.


Breaking changes

- Remove legacy `Merge` layers and associated functionality (remnant of Keras 0), which were deprecated in May 2016, with full removal initially scheduled for August 2017. Models from the Keras 0 API using these layers cannot be loaded with Keras 2.2.0 and above.
- The `truncated_normal` base initializer now returns values that are scaled by ~0.9 (resulting in correct variance value after truncation). This has a small chance of affecting initial convergence behavior on some models.


Credits

Thanks to our 46 contributors whose commits are featured in this release:

ASvyatkovskiy, AmirAlavi, Anirudh-Swaminathan, DavidAriel, Dref360, JonathanCMitchell, KuzMenachem, PeterChe1990, Saharkakavand, StefanoCappellini, ageron, askskro, bileschi, bonlime, bottydim, brge17, briannemsick, bzamecnik, christian-lanius, clemens-tolboom, dschwertfeger, dynamicwebpaige, farizrahman4u, fchollet, fuzzythecat, ghostplant, giuscri, huyu398, jnphilipp, masstomato, morenoh149, mrTsjolder, nittanycolonial, r-kellerm, reidjohnson, roatienza, sbebo, stevemurr, taehoonlee, tiferet, tkoivisto, tzerrell, vkk800, wangkechn, wouterdobbels, zwang36wang

2.1.6

Areas of improvement

- Bug fixes
- Documentation improvements
- Minor usability improvements

API changes

- In callback `ReduceLROnPlateau`, rename `epsilon` argument to `min_delta` (backwards-compatible).
- In callback `RemoteMonitor`, add argument `send_as_json`.
- In backend `softmax` function, add argument `axis`.
- In `Flatten` layer, add argument `data_format`.
- In `save_model` (`Model.save`) and `load_model` functions, allow the `filepath` argument to be a `h5py.File` object.
- In `Model.evaluate_generator`, add `verbose` argument.
- In `Bidirectional` wrapper layer, add `constants` argument.
- In `multi_gpu_model` function, add arguments `cpu_merge` and `cpu_relocation` (controlling whether to force the template model's weights to be on CPU, and whether to operate merge operations on CPU or GPU).
- In `ImageDataGenerator`, allow argument `width_shift_range` to be `int` or 1D array-like.

Breaking changes

This release does not include any known breaking changes.

Credits

Thanks to our 37 contributors whose commits are featured in this release:

Dref360, FirefoxMetzger, Naereen, NiharG15, StefanoCappellini, WindQAQ, dmadeka, edrogers, eltronix, farizrahman4u, fchollet, gabrieldemarmiesse, ghostplant, jedrekfulara, jlherren, joeyearsley, johanahlqvist, johnyf, jsaporta, kalkun, lucasdavid, masstomato, mrlzla, myutwo150, nisargjhaveri, obi1kenobi, olegantonyan, ozabluda, pasky, planck35, sotlampr, souptc, srjoglekar246, stamate, taehoonlee, vkk800, xuhdev

2.1.5

Areas of improvement

- Bug fixes.
- New APIs: sequence generation API `TimeseriesGenerator`, and new layer `DepthwiseConv2D`.
- Unit tests / CI improvements.
- Documentation improvements.

API changes

- Add new sequence generation API `keras.preprocessing.sequence.TimeseriesGenerator`.
- Add new convolutional layer `keras.layers.DepthwiseConv2D`.
- Allow weights from `keras.layers.CuDNNLSTM` to be loaded into a `keras.layers.LSTM` layer (e.g. for inference on CPU).
- Add `brightness_range` data augmentation argument in `keras.preprocessing.image.ImageDataGenerator`.
- Add `validation_split` API in `keras.preprocessing.image.ImageDataGenerator`. You can pass `validation_split` to the constructor (float), then select between training/validation subsets by passing the argument `subset='validation'` or `subset='training'` to methods `flow` and `flow_from_directory`.

Breaking changes

- As a side effect of a refactor of `ConvLSTM2D` to a modular implementation, recurrent dropout support in Theano has been dropped for this layer.

Credits

Thanks to our 28 contributors whose commits are featured in this release:

DomHudson, Dref360, VitamintK, abrad1212, ahundt, bojone, brainnoise, bzamecnik, caisq, cbensimon, davinnovation, farizrahman4u, fchollet, gabrieldemarmiesse, khosravipasha, ksindi, lenjoy, masstomato, mewwts, ozabluda, paulpister, sandpiturtle, saralajew, srjoglekar246, stefangeneralao, taehoonlee, tiangolo, treszkai

2.1.4

Areas of improvement

- Bug fixes
- Performance improvements
- Improvements to example scripts

API changes

- Allow for stateful metrics in `model.compile(..., metrics=[...])`. A stateful metric inherits from `Layer`, and implements `__call__` and `reset_states`.
- Support `constants` argument in `StackedRNNCells`.
- Enable some TensorBoard features in the `TensorBoard` callback (loss and metrics plotting) with non-TensorFlow backends.
- Add `reshape` argument in `model.load_weights()`, to optionally reshape weights being loaded to the size of the target weights in the model considered.
- Add `tif` to supported formats in `ImageDataGenerator`.
- Allow auto-GPU selection in `multi_gpu_model()` (set `gpus=None`).
- In `LearningRateScheduler` callback, the scheduling function now takes an argument: `lr`, the current learning rate.

Breaking changes

- In `ImageDataGenerator`, change default interpolation of image transforms from nearest to bilinear. This should probably not break any users, but it is a change of behavior.

Credits

Thanks to our 37 contributors whose commits are featured in this release:

DalilaSal, Dref360, GalaxyDream, GarrisonJ, Max-Pol, May4m, MiliasV, MrMYHuang, N-McA, Vijayabhaskar96, abrad1212, ahundt, angeloskath, bbabenko, bojone, brainnoise, bzamecnik, caisq, cclauss, dsadulla, fchollet, gabrieldemarmiesse, ghostplant, gorogoroyasu, icyblade, kapsl, kevinbache, mendesmiguel, mikesol, myutwo150, ozabluda, sadreamer, simra, taehoonlee, veniversum, yongtang, zhangwj618

2.1.3

Areas of improvement

- Performance improvements (esp. convnets with TensorFlow backend).
- Usability improvements.
- Docs & docstrings improvements.
- New models in the `applications` module.
- Bug fixes.

API changes

- `trainable` attribute in `BatchNormalization` now disables the updates of the batch statistics (i.e. if `trainable == False` the layer will now run 100% in inference mode).
- Add `amsgrad` argument in `Adam` optimizer.
- Add new applications: `NASNetMobile`, `NASNetLarge`, `DenseNet121`, `DenseNet169`, `DenseNet201`.
- Add `Softmax` layer (removing need to use a `Lambda` layer in order to specify the `axis` argument).
- Add `SeparableConv1D` layer.
- In `preprocessing.image.ImageDataGenerator`, allow `width_shift_range` and `height_shift_range` to take integer values (absolute number of pixels)
- Support `return_state` in `Bidirectional` applied to RNNs (`return_state` should be set on the child layer).
- The string values `"crossentropy"` and `"ce"` are now allowed in the `metrics` argument (in `model.compile()`), and are routed to either `categorical_crossentropy` or `binary_crossentropy` as needed.
- Allow `steps` argument in `predict_*` methods on the `Sequential` model.
- Add `oov_token` argument in `preprocessing.text.Tokenizer`.

Breaking changes

- In `preprocessing.image.ImageDataGenerator`, `shear_range` has been switched to use degrees rather than radians (for consistency). This should not actually break anything (neither training nor inference), but keep this change in mind in case you see any issues with regard to your image data augmentation process.


Credits

Thanks to our 45 contributors whose commits are featured in this release:

Dref360, OliPhilip, TimZaman, bbabenko, bdwyer2, berkatmaca, caisq, decrispell, dmaniry, fchollet, fgaim, gabrieldemarmiesse, gklambauer, hgaiser, hlnull, icyblade, jgrnt, kashif, kouml, lutzroeder, m-mohsen, mab4058, manashty, masstomato, mihirparadkar, myutwo150, nickbabcock, novotnj3, obsproth, ozabluda, philferriere, piperchester, pstjohn, roatienza, souptc, spiros, srs70187, sumitgouthaman, taehoonlee, tigerneil, titu1994, tobycheese, vitaly-krumins, yang-zhang, ziky90

2.1.2

Areas of improvement

- Bug fixes and performance improvements.
- API improvements in Keras applications, generator methods.

API changes

- Make `preprocess_input` in all Keras applications compatible with both Numpy arrays and symbolic tensors (previously only supported Numpy arrays).
- Allow the `weights` argument in all Keras applications to accept the path to a custom weights file to load (previously only supported the built-in `imagenet` weights file).
- `steps_per_epoch` behavior change in generator training/evaluation methods:
 - If specified, the specified value will be used (previously, in the case of generator of type `Sequence`, the specified value was overridden by the `Sequence` length)
 - If unspecified and if the generator passed is a `Sequence`, we set it to the `Sequence` length.
- Allow `workers=0` in generator training/evaluation methods (will run the generator in the main process, in a blocking way).
- Add `interpolation` argument in `ImageDataGenerator.flow_from_directory`, allowing a custom interpolation method for image resizing.
- Allow `gpus` argument in `multi_gpu_model` to be a list of specific GPU ids.

Breaking changes

- The change in `steps_per_epoch` behavior (described above) may affect some users.

Credits

Thanks to our 26 contributors whose commits are featured in this release:

Alex1729, alsrgv, apisarek, asos-saul, athundt, cherryunix, dansbecker, datumbox, de-vri-es, drauh, evhub, fchollet, heath730, hgaiser, icyblade, jjallaire, knaveofdiamonds, lance6716, luoch, mjacquem1, myutwo150, ozabluda, raviksharma, rh314, yang-zhang, zach-nervana

2.1.1

This release amends release 2.1.0 to include a fix for an erroneous breaking change introduced in 8419.

2.1.0

This is a small release that fixes outstanding bugs that were reported since the previous release.

Areas of improvement

- Bug fixes (in particular, Keras no longer allocates devices at startup time with the TensorFlow backend. This was causing issues with Horovod.)
- Documentation and docstring improvements.
- Better CIFAR10 ResNet example script and improvements to example scripts code style.

API changes

- Add `go_backwards` to cuDNN RNNs (enables `Bidirectional` wrapper on cuDNN RNNs).
- Add ability to pass `fetches` to `K.Function()` with the TensorFlow backend.
- Add `steps_per_epoch` and `validation_steps` arguments in `Sequential.fit()` (to sync it with `Model.fit()`).

Breaking changes

None.

Credits

Thanks to our 14 contributors whose commits are featured in this release:

Dref360, LawnboyMax, anj-s, bzamecnik, datumbox, diogoff, farizrahman4u, fchollet, frexvahi, jjallaire, nsuh, ozabluda, roatienza, yakigac

2.0.9

Areas of improvement

- RNN improvements:
 - Refactor RNN layers to rely on atomic RNN cells. This makes the creation of custom RNN very simple and user-friendly, via the `RNN` base class.
 - Add ability to create new RNN cells by stacking a list of cells, allowing for efficient stacked RNNs.
- Add `CuDNNLSTM` and `CuDNNGRU` layers, backend by NVIDIA's cuDNN library for fast GPU training & inference.
- Add RNN Sequence-to-sequence example script.
- Add `constants` argument in `RNN`'s `call` method, making RNN attention easier to implement.
- Easier multi-GPU data parallelism via `keras.utils.multi_gpu_model`.
- Bug fixes & performance improvements (in particular, native support for NCHW data layout in TensorFlow).
- Documentation improvements and examples improvements.



API changes

- Add "fashion mnist" dataset as `keras.datasets.fashion_mnist.load_data()`
- Add `Minimum` merge layer as `keras.layers.Minimum` (class) and `keras.layers.minimum(inputs)` (function)
- Add `InceptionResNetV2` to `keras.applications`.
- Support `bool` variables in TensorFlow backend.
- Add `dilation` to `SeparableConv2D`.
- Add support for dynamic `noise_shape` in `Dropout`
- Add `keras.layers.RNN()` base class for batch-level RNNs (used to implement custom RNN layers from a cell class).
- Add `keras.layers.StackedRNNCells()` layer wrapper, used to stack a list of RNN cells into a single cell.
- Add `CuDNNLSTM` and `CuDNNGRU` layers.
- Deprecate `implementation=0` for RNN layers.
- The Keras progbar now reports time taken for each past epoch, and average time per step.
- Add option to specific resampling method in `keras.preprocessing.image.load_img()`.
- Add `keras.utils.multi_gpu_model` for easy multi-GPU data parallelism.
- Add `constants` argument in `RNN`'s `call` method, used to pass a list of constant tensors to the underlying RNN cell.

Breaking changes

- Implementation change in `keras.losses.cosine_proximity` results in a different (correct) scaling behavior.
- Implementation change for samplewise normalization in `ImageDataGenerator` results in a different normalization behavior.

Credits

Thanks to our 59 contributors whose commits are featured in this release!

Alok, Danielhiversen, Dref360, HelgeS, JakeBecker, MPiecuch, MartinXPN, RitwikGupta, TimZaman, adammenges, aeftimia, ahojnnes, akshaychawla, alanyee, aldenks, andhus, apbard, aronj, bangbangbear, bchu, bdwyer2, bzamecnik, cclauss, colllin, datumbox, deltheil, dhaval067, durana, ericwu09, facaiy, farizrahman4u, fchollet, flomlo, fran6co, grzesir, hgaiser, icyblade, jsaporta, julienr, jussihuotari, kashif, lucashu1, mangerlahn, myutwo150, nicolewhite, noahstier, nzw0301, olalonde, ozabluda, patrikerdes, podhrmic, qin, raelg, roatienza, shadiakiki1986, smgt, souptc, taehoonlee, y0z

2.0.8

The primary purpose of this release is to address an incompatibility between Keras 2.0.7 and the next version of TensorFlow (1.4). TensorFlow 1.4 isn't due until a while, but the sooner the PyPI release has the fix, the fewer people will be affected when upgrading to the next TensorFlow version when it gets released.

No API changes for this release. A few bug fixes.

2.0.7

Areas of improvement

- Bug fixes.
- Performance improvements.
- Documentation improvements.
- Better support for training models from data tensors in TensorFlow (e.g. Datasets, TFRecords). Add a related example script.
- Improve TensorBoard UX with better grouping of ops into name scopes.
- Improve test coverage.

API changes

- Add `clone_model` method, enabling to construct a new model, given an existing model to use as a template. Works even in a TensorFlow graph different from that of the original model.
-  Add `target_tensors` argument in `compile`, enabling to use custom tensors or placeholders as model targets.
- Add `steps_per_epoch` argument in `fit`, enabling to train a model from data tensors in a way that is consistent with training from Numpy arrays.
- Similarly, add `steps` argument in `predict` and `evaluate`.
- Add `Subtract` merge layer, and associated layer function `subtract`.
- Add `weighted_metrics` argument in `compile` to specify metric functions meant to take into account `sample_weight` or `class_weight`.
- Make the `stop_gradients` backend function consistent across backends.
- Allow dynamic shapes in `repeat_elements` backend function.
- Enable stateful RNNs with CNTK.

Breaking changes

- The backend methods `categorical_crossentropy`, `sparse_categorical_crossentropy`, `binary_crossentropy` had the order of their positional arguments (`y_true`, `y_pred`) inverted. This change does not affect the `losses` API. This change was done to achieve API consistency between the `losses` API and the backend API.
- Move constraint management to be based on variable attributes. Remove the now-unused `constraints` attribute on layers and models (not expected to affect any user).

Credits

Thanks to our 47 contributors whose commits are featured in this release!

5ke, Alok, Danielhiversen, Dref360, NeilRon, abnera, acburigo, airalcorn2, angeloskath, athundt, brettkoonce, cclauss, denfromufa, enkait, erg, ericwu09, farizrahman4u, fchollet, georgwiese, ghisvail, gokceneraslan, hgaiser, inexxt, joeyearsley, jorgecarleitao, kennyjacob, keunwoochoi, krizp, lukedeo, milani, n17r4m, nicolewhite, nigeljyng, nyghtowl, nzw0301, rapatel0, souptc, srinivasreddy, staticfloat, taehoonlee, td2014, titu1994, tleeuwenburg, udibr, waleedka, wassname, yashk2810

2.0.6

Areas of improvement

- Improve generator methods (`predict_generator`, `fit_generator`, `evaluate_generator`) and add data enqueuing utilities.
- Bug fixes and performance improvements.
- New features: new `Conv3DTranspose` layer, new `MobileNet` application, self-normalizing networks.

API changes

- Self-normalizing networks: add `selu` activation function, `AlphaDropout` layer, `lecun_normal` initializer.
- Data enqueuing: add `Sequence`, `SequenceEnqueuer`, `GeneratorEnqueuer` to `utils`.
- Generator methods: rename arguments `pickle_safe` (replaced with `use_multiprocessing`) and `max_q_size ` (replaced with `max_queue_size`).
- Add `MobileNet` to the applications module.
- Add `Conv3DTranspose` layer.
- Allow custom print functions for model's `summary` method (argument `print_fn`).

2.0.5

- Add beta CNTK backend.
- TensorBoard improvements.
- Documentation improvements.
- Bug fixes and performance improvements.
- Improve style transfer example script.

API changes:

- Add `return_state` constructor argument to RNNs.
- Add `skip_compile` option to `load_model`.
- Add `categorical_hinge` loss function.
- Add `sparse_top_k_categorical_accuracy` metric.
- Add new options to `TensorBoard` callback.
- Add `TerminateOnNaN` callback.
- Generalize the `Embedding` layer to N (>=2) input dimensions.

2.0.4

- Documentation improvements.
- Docstring improvements.
- Update some examples scripts (in particular, new deep dream example).
- Bug fixes and performance improvements.

API changes:

- Add `logsumexp` and `identity` to backend.
- Add `logcosh` loss.
- New signature for `add_weight` in `Layer`.
- `get_initial_states` in `Recurrent` is now `get_initial_state`.

2.0.0

Keras 2 release notes

This document details changes, in particular API changes, occurring from Keras 1 to Keras 2.

Training

- The `nb_epoch` argument has been renamed `epochs` everywhere.
- The methods `fit_generator`, `evaluate_generator` and `predict_generator` now work by drawing a number of *batches* from a generator (number of training steps), rather than a number of samples.
 - `samples_per_epoch` was renamed `steps_per_epoch` in `fit_generator`.
 - `nb_val_samples` was renamed `validation_steps` in `fit_generator`.
 - `val_samples` was renamed `steps` in `evaluate_generator` and `predict_generator`.
- It is now possible to manually add a loss to a model by calling `model.add_loss(loss_tensor)`. The loss is added to the other losses of the model and minimized during training.
- It is also possible to *not* apply any loss to a specific model output. If you pass `None` as the `loss` argument for an output (e.g. in compile, `loss={'output_1': None, 'output_2': 'mse'}`, the model will expect no Numpy arrays to be fed for this output when using `fit`, `train_on_batch`, or `fit_generator`. The output values are still returned as usual when using `predict`.
- In TensorFlow, models can now be trained using `fit` if some of their inputs (or even all) are TensorFlow queues or variables, rather than placeholders. See [this test](https://github.com/fchollet/keras/blob/master/tests/keras/engine/test_training.pyL252) for specific examples.


Losses & metrics

- The `objectives` module has been renamed `losses`.
- Several legacy metric functions have been removed, namely `matthews_correlation`, `precision`, `recall`, `fbeta_score`, `fmeasure`.
- Custom metric functions can no longer return a dict, they must return a single tensor.


Models

- Constructor arguments for `Model` have been renamed:
 - `input` -> `inputs`
 - `output` -> `outputs`
- The `Sequential` model not longer supports the `set_input` method.
- For any model saved with Keras 2.0 or higher, weights trained with backend X will be converted to work with backend Y without any manual conversion step.


Layers

Removals

Deprecated layers `MaxoutDense`, `Highway` and `TimedistributedDense` have been removed.


Call method

- All layers that use the learning phase now support a `training` argument in `call` (Python boolean or symbolic tensor), allowing to specify the learning phase on a layer-by-layer basis. E.g. by calling a `Dropout` instance as `dropout(inputs, training=True)` you obtain a layer that will always apply dropout, regardless of the current global learning phase. The `training` argument defaults to the global Keras learning phase everywhere.
- The `call` method of layers can now take arbitrary keyword arguments, e.g. you can define a custom layer with a call signature like `call(inputs, alpha=0.5)`, and then pass a `alpha` keyword argument when calling the layer (only with the functional API, naturally).
- `__call__` now makes use of TensorFlow `name_scope`, so that your TensorFlow graphs will look pretty and well-structured in TensorBoard.

All layers taking a legacy `dim_ordering` argument

`dim_ordering` has been renamed `data_format`. It now takes two values: `"channels_first"` (formerly `"th"`) and `"channels_last"` (formerly `"tf"`).

Dense layer

Changed interface:

- `output_dim` -> `units`
- `init` -> `kernel_initializer`
- added `bias_initializer` argument
- `W_regularizer` -> `kernel_regularizer`
- `b_regularizer` -> `bias_regularizer`
- `b_constraint` -> `bias_constraint`
- `bias` -> `use_bias`

Dropout, SpatialDropout*D, GaussianDropout

Changed interface:

- `p` -> `rate`

Embedding

Convolutional layers

- The `AtrousConvolution1D` and `AtrousConvolution2D` layer have been deprecated. Their functionality is instead supported via the `dilation_rate` argument in `Convolution1D` and `Convolution2D` layers.
- `Convolution*` layers are renamed `Conv*`.
- The `Deconvolution2D` layer is renamed `Conv2DTranspose`.
- The `Conv2DTranspose` layer no longer requires an `output_shape` argument, making its use much easier.

Interface changes common to all convolutional layers:

- `nb_filter` -> `filters`
- float kernel dimension arguments become a single tuple argument, `kernel` size. E.g. a legacy call `Conv2D(10, 3, 3)` becomes `Conv2D(10, (3, 3))`
- `kernel_size` can be set to an integer instead of a tuple, e.g. `Conv2D(10, 3)` is equivalent to `Conv2D(10, (3, 3))`.
- `subsample` -> `strides`. Can also be set to an integer.
- `border_mode` -> `padding`
- `init` -> `kernel_initializer`
- added `bias_initializer` argument
- `W_regularizer` -> `kernel_regularizer`
- `b_regularizer` -> `bias_regularizer`
- `b_constraint` -> `bias_constraint`
- `bias` -> `use_bias`
- `dim_ordering` -> `data_format`
- In the `SeparableConv2D` layers, `init` is split into `depthwise_initializer` and `pointwise_initializer`.
- Added `dilation_rate` argument in `Conv2D` and `Conv1D`.
- 1D convolution kernels are now saved as a 3D tensor (instead of 4D as before).
- 2D and 3D convolution kernels are now saved in format `spatial_dims + (input_depth, depth))`, even with `data_format="channels_first"`.


Pooling1D

- `pool_length` -> `pool_size`
- `stride` -> `strides`
- `border_mode` -> `padding`

Pooling2D, 3D

- `border_mode` -> `padding`
- `dim_ordering` -> `data_format`


ZeroPadding layers

The `padding` argument of the `ZeroPadding2D` and `ZeroPadding3D` layers must be a tuple of length 2 and 3 respectively. Each entry `i` contains by how much to pad the spatial dimension `i`. If it's an integer, symmetric padding is applied. If it's a tuple of integers, asymmetric padding is applied.

Upsampling1D

- `length` -> `size`

BatchNormalization

The `mode` argument of `BatchNormalization` has been removed; BatchNorm now only supports mode 0 (use batch metrics for feature-wise normalization during training, and use moving metrics for feature-wise normalization during testing).

- `beta_init` -> `beta_initializer`
- `gamma_init` -> `gamma_initializer`
- added arguments `center`, `scale` (booleans, whether to use a `beta` and `gamma` respectively)
- added arguments `moving_mean_initializer`, `moving_variance_initializer`
- added arguments `beta_regularizer`, `gamma_regularizer`
- added arguments `beta_constraint`, `gamma_constraint`
- attribute `running_mean` is renamed `moving_mean`
- attribute `running_std` is renamed `moving_variance` (it *is* in fact a variance with the current implementation).


ConvLSTM2D

Same changes as for convolutional layers and recurrent layers apply.

PReLU

- `init` -> `alpha_initializer`

GaussianNoise

- `sigma` -> `stddev`

Recurrent layers

- `output_dim` -> `units`
- `init` -> `kernel_initializer`
- `inner_init` -> `recurrent_initializer`
- added argument `bias_initializer`
- `W_regularizer` -> `kernel_regularizer`
- `b_regularizer` -> `bias_regularizer`
- added arguments `kernel_constraint`, `recurrent_constraint`, `bias_constraint`
- `dropout_W` -> `dropout`
- `dropout_U` -> `recurrent_dropout`
- `consume_less` -> `implementation`. String values have been replaced with integers: implementation 0 (default), 1 or 2.
- LSTM only: the argument `forget_bias_init` has been removed. Instead there is a boolean argument `unit_forget_bias`, defaulting to `True`.


Lambda

The `Lambda` layer now supports a `mask` argument.


Utilities

Utilities should now be imported from `keras.utils` rather than from specific submodules (e.g. no more `keras.utils.np_utils...`).


Backend

random_normal and truncated_normal
- `std` -> `stddev`

Misc

- In the backend, `set_image_ordering` and `image_ordering` are now `set_data_format` and `data_format`.
- Any arguments (other than `nb_epoch`) prefixed with `nb_` has been renamed to be prefixed with `num_` instead. This affects two datasets and one preprocessing utility.
Links

Update matplotlib from 3.1.1 to 3.1.1.

Changelog

3.1.1

The first bug-fix release of the 3.1 series

* Locator.nonsingular return order API change

Lots of backports of various bug fixes.

2.1.0

This is the second minor release in the Matplotlib 2.x series and the first
release with major new features since 1.5.

This release contains approximately 2 years worth of work by 275 contributors
across over 950 pull requests.  Highlights from this release include:

- support for string categorical values
- export of animations to interactive javascript widgets
- major overhaul of polar plots
- reproducible output for ps/eps, pdf, and svg backends
- performance improvements in drawing lines and images
- GUIs show a busy cursor while rendering the plot


along with many other enhancements and bug fixes.

2.0.0

Major release of Matplotlib

This release completely overhauls the default style of the plots.

Highlights include:
- 'viridis' is default color map instead of jet.
- Modernized the default color cycle.
- Many more functions respect the color cycle.
- Line dash patterns scale with linewidth.
- Change default font to DejaVu, now supports most Western
alphabets (including Greek, Cyrillic and Latin with diacritics),
math symbols and emoji out of the box.
- Faster text rendering.
- Improved auto-limits.
- Ticks out and only on the right and bottom spines by default.
- Improved auto-ticking, particularly for log scales and dates.
- Improved image support (`imshow` respects scales and eliminated a
class of artifacts).

2.0.0rc2

This is the second and final planned release candidate for mpl v2.0

This release includes:
- Bug fixes and documentation changes
- Expanded API on plot_surface and plot_wireframe
- Pin font size at text creation time
- Suppress fc-cache warning unless it takes more than 5s

2.0.0rc1

This is the first release candidate for mpl v2.0

This release includes:
- A re-implementation of the way margins are handled during auto
scaling to allow artists to 'stick' to an edge of the Axes
- Improvements to the ticking with log and symlog scales
- Deprecation of the finance module.  This will be spun off into a stand-alone package
- Deprecation of the 'hold' machinery 
- Bumped the minimum numpy version to 1.7
- Standardization of hatch width and appearance across backends
- Made threshold for triggering 'offset' in `ScalarFormatter` configurable
and default to 4 (plotting against years should just work now)
- Default encoding for mp4 is now h264
- `fill_between` and `fill_betweenx` now use the color cycle
- Default alignment of bars changed from 'edge' to 'center'
- Bug and documentation fixes

2.0.0b4

Fourth and final beta release

2.0.0b3

Third beta for v2.0.0 release

This tag includes several critical bug fixes and updates the dash patterns.

1.5.3

This release contains a few critical bug fixes:
- eliminate fatal exceptions with Qt5.7
- memory leak in the contour code
- keyboard interaction bug with nbagg
- automatic integration with the ipython event loop (if running) which
fixes 'naive' integration for IPython 5+

1.5.2

Final planned release for the 1.5.x series.
Links

Update mss from 4.0.3 to 4.0.3.

Changelog

4.0.2

- new contributor: foone
   - Windows: ignore missing SetProcessDPIAware() on Window XP (fixes 109)

4.0.1

==================

linux.py
--------
- Removed use of ``MSS.xlib.XDefaultScreen()``

4.0.0

==================

base.py
-------
- Renamed ``MSSBase`` class to ``MSSMixin``

linux.py
--------
- Renamed ``MSS.__del__()`` method to ``MSS.close()``
- Deleted ``MSS.last_error`` attribute. Use ``LAST_ERROR`` constant instead.
- Added ``validate()`` function
- Added ``MSS.get_error_details()`` method

windows.py
----------
- Renamed ``MSS.__exit__()`` method to ``MSS.close()``

3.3.2

- new contributors: hugovk, Andreas Buhr
   - MSS: do monitor detection in MSS constructor (fixes 79)
   - MSS: specify compliant Python versions for pip install
   - tests: enable Python 3.7
   - tests: fix test_entry_point() with multiple monitors

3.3.1

- Linux: fix a memory leak introduced with 7e8ae5703f0669f40532c2be917df4328bc3985e (fixes 72)
   - doc: add the download statistics badge

3.3.0

==================

exception.py
------------
- Added ``details`` attribute to ``ScreenShotError`` exception. Empty dict by default.

linux.py
--------
- Added ``error_handler()`` function

3.2.1

==================

windows.py
----------
- Removed ``MSS.scale_factor`` property
- Removed ``MSS.scale()`` method

3.2.0

==================

base.py
-------
- Added ``MSSBase.compression_level`` to control the PNG compression level

linux.py
--------
- Added ``MSS.drawable`` to speed-up grabbing.

screenshot.py
-------------
- Added ``Screenshot.bgra`` to get BGRA bytes.

tools.py
--------
- Changed signature of ``to_png(data, size, output=None)`` to ``to_png(data, size, level=6, output=None)``. ``level`` is the Zlib compression level.

3.1.2

==================

tools.py
--------
- Changed signature of ``to_png(data, size, output)`` to ``to_png(data, size, output=None)``. If ``output`` is ``None``, the raw PNG bytes will be returned.

3.1.1

==================

__main__.py
-----------
- Added ``args`` argument to ``main()``

base.py
-------
- Moved ``ScreenShot`` class to screenshot.py

darwin.py
---------
- Added ``CGPoint.__repr__()``
- Added ``CGRect.__repr__()``
- Added ``CGSize.__repr__()``
- Removed ``get_infinity()`` function

windows.py
----------
- Added ``scale()`` method to ``MSS`` class
- Added ``scale_factor`` property to ``MSS`` class

3.1.0

- new contributor: Karan Lyons
   - MSS: add more way of customization to the output argument of save()
   - MSS: possibility to use custom class to handle screen shot data
   - Mac: properly support all display scaling and resolutions (fix 14, 19, 21, 23)
   - Mac: fix memory leaks (fix 24)
   - Linux: handle bad display value
   - Windows: take into account zoom factor for high-DPI displays (fix 20)
   - doc: several fixes (fix 22)
   - tests: a lot of tests added for better coverage
   - add the 'Say Thanks' button

3.0.1

- fix examples links

3.0.0

==================

base.py
-------
- Added the ``ScreenShot`` class containing data for a given screen shot (support the Numpy array interface [``ScreenShot.__array_interface__``])
- Added ``shot()`` method to ``MSSBase``. It takes the same arguments as the ``save()`` method.
- Renamed ``get_pixels`` to ``grab``. It now returns a ``ScreenShot`` object.
- Moved ``to_png`` method to ``tools.py``. It is now a simple function.
- Removed ``enum_display_monitors()`` method. Use ``monitors`` property instead.
- Removed ``monitors`` attribute. Use ``monitors`` property instead.
- Removed ``width`` attribute. Use ``ScreenShot.size[0]`` attribute or ``ScreenShot.width`` property instead.
- Removed ``height`` attribute. Use ``ScreenShot.size[1]`` attribute or ``ScreenShot.height`` property instead.
- Removed ``image``. Use the ``ScreenShot.raw`` attribute or ``ScreenShot.rgb`` property instead.
- Removed ``bgra_to_rgb()`` method. Use ``ScreenShot.rgb`` property instead.

darwin.py
---------
- Removed ``_crop_width()`` method. Screen shots are now using the width set by the OS (rounded to 16).

exception.py
------------
- Renamed ``ScreenshotError`` class to ``ScreenShotError``

tools.py
--------
- Changed signature of ``to_png(data, monitor, output)`` to ``to_png(data, size, output)`` where ``size`` is a ``tuple(width, height)``

2.0.22

- new contributors: David Becker, redodo
   - MSS: better use of exception mechanism
   - Linux: use of hasattr to prevent Exception on early exit
   - Mac: take into account extra black pixels added when screen with is not divisible by 16 (fix 14)
   - docs: add an example to capture only a part of the screen

2.0.18

- change license to MIT
   - new contributor: Jochen 'cycomanic' Schroeder
   - MSS: add type hints
   - MSS: remove unused code (reported by Vulture)
   - Linux: remove MSS library
   - Linux: insanely fast using only ctypes
   - Linux: skip unused monitors
   - Linux: use errcheck instead of deprecated restype with callable (fix 11)
   - Linux: fix security issue (reported by Bandit)
   - docs: add documentation (fix 10)
   - tests: add tests and use Travis CI (fix 9)

2.0.0

- split the module into several files
   - MSS: a lot of code refactor and optimizations
   - MSS: rename save_img() to to_png()
   - MSS: save(): replace 'screen' argument by 'mon'
   - Mac: get rid of the PyObjc module, 100% ctypes
   - Linux: prevent segfault when DISPLAY is set but no X server started
   - Linux: prevent segfault when Xrandr is not loaded
   - Linux: get_pixels() insanely fast, use of MSS library (C code)
   - Windows: fix 6, screen shot not correct on Windows 8
   - add issue and pull request templates

1.0.2

- MSS: fix non existent alias

1.0.1

- MSS: fix 7, libpng warning (ignoring bad filter type)

1.0.0

- Python 2.6 to 3.5 ready
   - MSS: code purgation and review, no more debug information
   - MSS: fix 5, add a shortcut to take automatically use the proper MSS class
   - MSS: few optimizations into save_img()
   - Darwin: remove rotation from information returned by enum_display_monitors()
   - Linux: fix object has no attribute 'display' into __del__
   - Linux: use of XDestroyImage() instead of XFree()
   - Linux: optimizations of get_pixels()
   - Windows: huge optimization of get_pixels()
   - CLI: delete --debug argument

0.1.1

- MSS: little code review
   - Linux: fix monitor count
   - tests: remove test-linux binary
   - docs: add doc/TESTING
   - docs: remove Bonus section from README.rst

0.1.0

- MSS: fix code with YAPF tool
   - Linux: fully functional using Xrandr library
   - Linux: code purgation (no more XML files to parse)
   - docs: better tests and examples

0.0.8

- new contributors: sergey-vin, Alexander 'thehesiod' Mohr
   - MSS: fix 3, filename's dir is not used when saving
   - MSS: fix "E713 test for membership should be 'not in'"
   - MSS: raise an exception for unimplemented methods
   - Windows: fix 4, robustness to MSSWindows.get_pixels

0.0.7

- MSS: fix path where screenshots are saved

0.0.6

- new contributor: Sam from sametmax.com
   - Python 3.4 ready
   - PEP8 compliant
   - MSS: review module structure to fit the "Code Like a Pythonista: Idiomatic Python"
   - MSS: refactoring of all enum_display_monitors() methods
   - MSS: fix misspellings using 'codespell' tool
   - MSS: better way to manage output filenames (callback)
   - MSS: several fixes here and there, code refactoring
   - MSS: moved into a MSS:save_img() method
   - Linux: add XFCE4 support
   - CLI: possibility to append '--debug' to the command line

0.0.5

- MSS: code simplified
   - Windows: few optimizations into _arrange()

0.0.4

- Linux: use of memoization => huge time/operations gains

0.0.3

- MSS: remove PNG filters
   - MSS: remove 'ext' argument, using only PNG
   - MSS: do not overwrite existing image files
   - MSS: few optimizations into png()
   - Linux: few optimizations into get_pixels()

0.0.2

- new contributors: Oros, Eownis
   - add support for python 3 on Windows and GNU/Linux

0.0.1

- first release
Links

Update mypy from 0.720 to 0.720.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update opencv-python from 4.1.0.25 to 4.1.0.25.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update pyautogui from 0.9.47 to 0.9.47.

Changelog

0.9.37

v0.9.36, 2017/04/20 -- Fixed Windows XP problem with the DPI scaling API call.
v0.9.35, 2017/03/19 -- Fixed Windows DPI scaling issue.
v0.9.34, 2017/03/18 -- Fixed several bugs after the Sentry OSS sprint, including Windows permission errors.

0.9.29

v0.9.28, 2015/05/05 -- Fixed a small bug wheel scroll on OS X.
v0.9.27, 2015/05/02 -- Fixed a bug with Linux's button parameter.
v0.9.26, 2015/02/02 -- Added 'super' key to Windows and the presses keyword argument to press().

0.9.25

v0.9.24, 2015/01/07 -- Added -x silent option to os x screencapture command.
v0.9.23, 2015/01/06 -- Now allowing lists in addition to tuples for XY coordinate arguments.
v0.9.22, 2015/01/06 -- Added "pause" keyword argument to functions to override PAUSE setting for specific calls.
v0.9.21, 2014/12/15 -- Added keyword arguments to functions, improved unit tests.
v0.9.20, 2014/10/11 -- Fixed parameter order bug on Linux.
v0.9.19, 2014/09/24 -- Set fail-safe and pause features to be enabled by default.
v0.9.18, 2014/09/16 -- Moved screenshot features to a separate "PyScreeze" module.
v0.9.17, 2014/09/15 -- Added pixel() and pixelMatchesColor() functions.
v0.9.16, 2014/09/15 -- Added locateCenterOnScreen() function.
v0.9.15, 2014/09/12 -- Added fail-safe feature.
v0.9.14, 2014/09/11 -- Fixed bug with locateOnScreen().
v0.9.13, 2014/09/11 -- Fixed OS X scrolling bug. Added screenshot features.
v0.9.12, 2014/09/10 -- Fixed import bugs.
v0.9.11, 2014/09/08 -- Fixed bug where None was being passed to platform-specific mouse functions.
v0.9.10, 2014/09/08 -- Fixing the previous bug, for real this time.
v0.9.9, 2014/09/03 -- Bug fix with the mouseUp and mouseDown functions due to rearranging the parameters.

0.9.8

v0.9.7, 2014/09/03 -- Fixing a bug where single-character strings sent to press() were dropped. Added a unit test for this bug.
v0.9.6, 2014/09/03 -- Added PyMsgBox & PyTweening as dependencies.
v0.9.5, 2014/08/28 -- Made parameter order for mouseDown() and mouseUp() consistent with click().
v0.9.4, 2014/08/28 -- Fixed uppercase bug.
v0.9.3, 2014/08/21 -- Added ability to pass a list to press().
v0.9.2, 2014/08/19 -- Added complete set of tween functions.
v0.9.0, 2014/07/28 -- Initial release.
Links

Update pyscreenshot from 0.5.1 to 0.5.1.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update pytesseract from 0.2.9 to 0.2.9.

Changelog

0.2.9

- Additional documentation and exported new method `run_and_get_output`.
- Improve image format handling, whenever using Pillow library manipulation.
- Fixed issue with numpy support.
- Fix timeout issues with Travis CI.

0.2.8

- Various minor fixes and refactoring
- Introduce the new timeout functionality
- Improve and updated documentation with additional examples

0.2.7

- Documentation improvements and new examples for batch processing
- Various fixes and code refactoring for the child process routines
- No more support for python 2.6, only python 2.7+

0.2.6

- Support for the pandas DataFrame format
- Code refactoring and fixes for the subprocess routines

0.2.5

- Support for searchable pdf and hocr output format
- Cleanup of deprecated options
- Documentation adjustments

0.2.4

- Refactoring and raw image support (by passing relative or absolute image path)
- Fix psm/osd/tsv mode handling logic
- Documentation adjustments

0.2.2

Lots of code improvements/refactoring.
Contributors list updated.

0.2.1

* Documentation and link ref fixes
* Suppression for the Windows console window

0.2.0

Fix stupid mistakes/bugs and polish the new image handling logic.
Links

Update pyvirtualdisplay from 0.2.4 to 0.2.4.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update tbselenium from 0.4.2 to 0.4.2.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update tensorflow from 1.14.0 to 1.14.0.

Changelog

1.14.0

Major Features and Improvements

*   This is the first 1.x release containing the compat.v2 module. This module
 is required to allow libraries to publish code which works in both 1.x and
 2.x. After this release, no backwards incompatible changes are allowed in
 the 2.0 Python API.
*   Turn on MKL-DNN contraction kernels by default. MKL-DNN dynamically
 dispatches the best kernel implementation based on CPU vector architecture.
 To disable them, build with --define=tensorflow_mkldnn_contraction_kernel=0.

Behavioral changes

*   Set default loss reduction as `AUTO` for improving reliability of loss
 scaling with distribution strategy and custom training loops. `AUTO`
 indicates that the reduction option will be determined by the usage context.
 For almost all cases this defaults to `SUM_OVER_BATCH_SIZE`. When used in
 distribution strategy scope, outside of built-in training loops such as
 `tf.keras` `compile` and `fit`, we expect reduction value to be 'None' or
 'SUM'. Using other values will raise an error.
*   Wraps losses passed to the `compile` API (strings and v1 losses) which are
 not instances of v2 `Loss` class in `LossWrapper` class. => All losses will
 now use `SUM_OVER_BATCH_SIZE` reduction as default.
*   Disable `run_eagerly` and distribution strategy if there are symbolic
 tensors added to the model using `add_metric` or `add_loss`.
*   tf.linspace(start, stop, num) now always uses "stop" as last value (for
 num > 1)
*   `ResourceVariable` and `Variable` no longer accepts `constraint` in the
 constructor, nor expose it as a property.
*   The behavior of tf.gather is now correct when axis=None and batch_dims<0.
*   Only create a GCS directory object if the object does not already exist.
*   In `map_vectorization` optimization, reduce the degree of parallelism in the
 vectorized map node.
*   Bug fix: loss and gradients should now more reliably be correctly scaled
 w.r.t. the global batch size when using a tf.distribute.Strategy.
*   Updating cosine similarity loss - removed the negate sign from cosine
 similarity.
*   DType is no longer convertible to an int. Use dtype.as_datatype_enum instead
 of int(dtype) to get the same result.
*   Changed default for gradient accumulation for TPU embeddings to true.
*   Callbacks now log values in eager mode when a deferred build model is used.
*   Transitive dependencies on :pooling_ops were removed. Some users may need to
 add explicit dependencies on :pooling_ops if they reference the operators
 from that library.

Bug Fixes and Other Changes

*   Documentation
*   Deprecations and Symbol renames.
 *   Remove unused StringViewVariantWrapper
 *   Delete unused Fingerprint64Map op registration
 *   SignatureDef util functions have been deprecated.
 *   Renamed tf.image functions to remove duplicate "image" where it is
     redundant.
 *   tf.keras.experimental.export renamed to
     tf.keras.experimental.export_saved_model
 *   Standardize the LayerNormalization API by replacing the args `norm_axis`
     and `params_axis` with `axis`.
 *   Tensor::UnsafeCopyFromInternal deprecated in favor Tensor::BitcastFrom
*   Keras & Python API
 *   Add v2 module aliases for:
 *   tf.initializers => tf.keras.initializers
 *   tf.losses => tf.keras.losses & tf.metrics => tf.keras.metrics
 *   tf.optimizers => tf.keras.optimizers
 *   Add tf.keras.layers.AbstractRNNCell as the preferred implementation of
     RNN cell for TF v2. User can use it to implement RNN cell with custom
     behavior.
 *   Adding `clear_losses` API to be able 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant