Releases: deepjavalibrary/djl
DJL v0.25.0 Release
Key Changes
- Engine Upgrades
- Early Stopping support for Training by @jagodevreede #2806
Enhancement
- [tokenizer] Allows import non-english model by @frankfliu in #2797
- [api] Allows cancel Input by @frankfliu in #2805
- [huggingface] Adds CrossEncoderTranslator by @frankfliu in #2817
- Creates MultiDevice by @zachgk in #2819
- [api] Refactor PublisherBytesSupplier.java by @frankfliu in #2831
- [api] Replace double-check singlton with lazy initialization by @frankfliu in #2826
Bug fixes
- [api] Fixed NDList decode numpy file bug by @frankfliu in #2804
Documentation and Examples
- Updates doc versions to 0.24.0 by @zachgk in #2829
- [docs] Fixes markdown headers by @zachgk in #2812
- Bump up DJL version to 0.25.0 by @frankfliu in #2809
- Update README with release update by @zachgk in #2823
CI
- [FT Deps] allow to just build for 1 flow by @lanking520 in #2798
- [ci] Fixes out of diskspace issue by @frankfliu in #2808
- Add Triton gpu flag build on by @lanking520 in #2815
New Contributors
- @jagodevreede made their first contribution in #2806
Full Changelog: v0.24.0...v0.25.0
DJL v0.23.0 release
Key Features
-
Upgrades for engines
-
Enhancements for engines and API
-
Introduces text-generation search algorithm
Enhancement
-
DJL API improvements:
- Adds uint16, uint32, uint64, int16, bf16 data type (#2570)
- Adds NDArray topK operator for PyTorch (#2634)
- Adds support for unsigned datatype (#2574)
- Allows subclass access member variable of Predictor (#2582)
- Makes PredictorContext constructor public (#2586)
- Refactor ChunkedBytesSupplier to avoid unnecessary conversion (#2587)
- Move compileJava() into ClassLoaderUtils (#2600)
- Enable boolean input on ort (#2644)
- Adds more logs for platform detection (#2646)
- Improves DJL URL error message (#2678)
- Avoid exception if SecurityManager is applied (#2665)
- Masks sensitive env vars in debug print out (#2657)
- open isImage() method to package children for reuse-enabling custom datasets (#2662)
- Migrate google analytics (#2654)
-
PyTorch engine improvements
-
Spark extension enhancements
-
Huggingface tokenizer enhancements
- Allow creating BPE huggingface tokenizers (2550)
-
Tensorflow engine enhancements
- Reload javacpp properties (2668)
Breaking change
Bug fixes
- Avoids exception for cuda version lower than 10.x (#2583)
- Reverts "[bom] Simplify BOM build script (#2438)" 2598
- CI fails looking for v3 reverting to v2 (#2604)
- Fixes the dependencies issue (#2609)
- Fixes the usage of the repeat function for embedding (#2590)
- Adds missing djl-zero to bom (#2625)
- Fixes tabnet predictor (#2643)
- Fixes error message in X.dot(w) (#2688)
- Fixes liquid parsing issues in pytorch ndarray cheatsheet (#2690)
- Fixes getIOU bug (#2674)
- Fixes setup formatting (#2653)
- Fixes broken link (#2622)
- Fixes LocalRepository detection (#2593)
- Fix jupyter notebook links (#2704)
Documentation and Examples
- Adds docs on JNI compilation (#2510)
- Updates import tensorflow model README (#2614)
- Updates pytorch native JNI development document (#2613)
- Setup - Running on M1 Macs (#2652)
- Adds pytorch vs djl ndarray cheatsheet (#2661)
- Updates timeseries README (#2667)
- Adds PT NDArray cheat sheet to docs (#2670)
- Cleans stable_diffusion and add missing .md language blocks (#2635)
- Updates README (#2596)
- Fixes typos (#2603)
- Fixes markdown format (#2608)
CI improvements
- Upgrades github action gradle plugin to v3 (#2576)
- Avoids upload djl-serving.tar to S3 if already exist (#2578)
- Upgrades spotbugs to 5.0.14 (#2594)
- Upgrades gradle to 8.1.1 (#2611)
- Publishes PyTorch 2.0.1 jni package (#2699)
- Removes cu102 test (#2689)
- Fixes nightly publish ci bug (#2691)
- Fixes djl-serving release publish workflow script (#2568)
- Minor fix to the instance spinning (#2606)
- Adds Triton and FasterTransformers source build instruction (#2605)
- Publishes triton executable (#2617)
- Adds http endpoint in the build (#2618)
Contributors
Thank you to the following community members for contributing to this release:
@frankfliu
@KexinFeng
@lanking520
@xyang16
@zachgk
@takanori-ugai
@tosterberg
@siddvenk
New Contributors
- @larochef made their first contribution in #2550
- @Crusader99 made their first contribution in #2603
- @juliangamble made their first contribution in #2652
- @i10416 made their first contribution in #2661
Full Changelog: v0.22.1...v0.23.0
DJL v0.22.1 release
Key Features
- Upgrades and enhancements for Engines
Enhancement
-
Introduces several enhancement for HuggingFace tokenizer:
-
Introduces several enhancement for Spark extension:
- Adds audio predictors (#2466)
- Adds more image predictors and change some APIs (#2456)
- Adds more text predictors (#2443)
- Adds np_util (#2419)
- Adds pyspark TextEmbedder and update ImageClassifier (#2414)
- Adds text generation in pyspark (#2477)
- Adds text2text generation (#2506)
- Adds whisper python code (#2513)
- Upgrades spark version to 3.3.2 (#2523)
-
DJL API improvements:
- Adds support for unique, bmm, xlogy (#2415)
- Fixes NDArray.toByteArray() bug (#2436)
- Adds NDArray.copyTo() support for NDArrayAdapter (#2437)
- Improves Classifications.toString() print out (#2439)
- Makes Batchifier serializable (#2441)
- Loads inputShapes in the loadMetadata method of Linear block (#2448)
- Adds chunked output support (#2453)
- Makes audio and cv translator factory serializable (#2455)
- Adds NamedEntity.toString() function (#2468)
- Streaming Predict and streamable BytesSupplier (#2470)
- Mitigates ZipInputStream CVE. (#2473)
- Adds getProperties() to Model interface (#2476)
- Adds non-blocking poll() for BytesSupplier (#2478)
- Makes PassthroughNDManager aware of engine and device (#2484)
- Fixes telemetry opt out (#2490)
- Uses sha-256 to avoid security warning (#2495)
- Moves NeuronUtils to api package (#2496)
- Adds encode and decode to Input and Output (#2502)
- Fails model loading if specified translator not found (#2515)
- Adds a way to check if streaming is supported (#2518)
- Fixed detect platform for different CUDA version (#2527)
- Fixes neuron core detection in docker container (#2536)
-
PyTorch engine improvements:
-
OnnxRuntime engine improvements:
- Adds support for OnnxRuntime Profiler (#2472)
-
MXNet engine improvements:
- Enables boolean index on mxnet (#2427)
Breaking change
Bug fixes
- Fixes pytorch-native-cu118 package in BOM (#2535)
- Fixes spark package name in BOM (#2534)
- Fixes OnnxRuntime version (#2524)
- Fixes memory leak in get with and to long, double, float, ... (#2428)
Documentation and Examples
- Adds timeseries examples document (#2411)
- Fixes link to doc Mask detection with YOLOv5 (#2529)
- Adds DeferredTranslatorFactory to tokenizers example (#2511)
- Updates depednency manage for spark extension (#2531)
- Updates FAQ and troubleshooting documents (#2454)
- Cleans inference performance optimization doc (#2519)
- Adds Yolov5 on Face Mask Detection (#2452)
CI improvements:
- Simplifies BOM build script (#2438)
- Avoids re-publish serving tarball (#2479)
- Fixes gradle 8.0 native publish issue (#2457)
- Fixes gradle 8.0 publish to release issue (#2460)
- Upgrades gradle to 8.0.2 (#2449)
- Uses recommended way to create task in build.gradle (#2451)
Contributors
@frankfliu
@KexinFeng
@lanking520
@nezda
@tipame
@xyang16
@zachgk
New Contributors
Full Changelog: v0.21.0...v0.22.1
DJL v0.21.0 release
Key Features
- Upgrades and enhancements for Engines
- Introduces several improvements for extensions:
- Implements NDScope to automatically close NDArray in the scope (#2321)
- Allows MXNet runs on Ampere GPU (#2313)
- DJLServing release
- Adds faster transformer support (#424)
- Adds Deepspeed ahead of time partition script in DLC (#466)
- Adds SageMaker MME support (#479)
- Adds support for stable-diffusion-2-1-base model (#484)
- Adds support for stable diffusion depth model (#488)
- Adds out of memory protection for modle loading (#496)
- Makes load_on_devices per model setting (#493)
- Adds several per model settings
- Improves management console model loading and inference UI (#431, #432)
- Updates deepspeed to 0.8.0 (#465)
Enhancement
- Introduces several enhancements for timeseries extension:
- Introduces several enhancement for HuggingFace tokenizer:
- Adds batch encoding support(#2342, #2343, #2337, #2338)
- Adds batchEncode for text pair (#2339)
- Adds mean_sqrt_len and weightedmean pooling for TextEmbedding (#2272)
- Adds more pooling mode form TextEmbedding (#2261)
- Allows Huggingface model zoo list models in offline mode (#2322)
- Update TextEmbedding pooling model name (#2314)
- Introduces a few new examples:
- Introduces several enhancement for Spark extension:
- DJL API improvements:
- Adds limit and callback for Metrics API (#2362)
- Adds newBaseManager(String engineName) api (#2275)
- Falls back to PassthroughNDManager if there is no engine (#2354)
- Improves Criteria.build() error message (#2397)
- Improves hybrid engine operators (#2279)
- Improve NDArray encode/decode performance (#2361)
- Refactors Engine class (#2303)
- Implements gatherNd, partial flatten and enable BertOnCode training (#2216)
- Makes TestDataset constructor protected (#2271)
- Creates SimplePaddingStackBatchifier (#2384)
- Creates standard for PreTrained behavior (#2360)
- Creates the TabularTranslator (#2344)
- Enables tuning distill_bert embedding layer (#2203)
- Handle RuntimeException on ImageFactory::newInstance (#2241)
- Implement AdamW on Pytorch and MXNet (#2206)
- Improves TranslatorExpansions with pre-processing and post-processing (#2213)
- Opens LayerNorm.Builder for inheritance (#2309)
- Adds feature to identify NDArray if double closed (#2352)
- Adds back support for getting managed Arrays (#2386)
- Opens Conv2d block constructor for inheritance (#2231)
- PyTorch engine improvements:
- Adds scatter function to PtNDArray (#2332)
- Search for model.pt or model.onnx when loading the model (#2364)
- Better handle String tensor operations (#2380)
- Fixes typo in error message (#2355)
- Makes JNI comptible with PyTorch 1.11.0 (#2263)
- No longer search java.library.path (#2235)
- Uses runMethod to replace forward function (#2234)
- Workaround hann_window issue for PyTorch 1.12.1 (#2262)
- Adds support for torch::cuda::empty_cache(). (#2305)
- Fixes memory leak in PyTorch indexing fuction (#2300)
- LightGBM engine improvements:
- Updates library dependencies:
- Adds aarch64 and macOS M1 support for SentencePiece (#2325, #2324)
- Adds centos 7 support for SentencePiece (#2402)
- Adds aarch64 support for audio extension (#2250)
Breaking change
- Removes Neo-DLR engine from DJL #2373
- Moves RawDataset from basicdata to api module (#2375)
- Changes Spark extension API (#2388)
Bug fixes
DJL v0.20.0 release
Key Features
- Upgrades and enhancements for Engines
- Upgrades PyTorch to 1.13.0 (#2157)
- Add support for Apple's Metal Performance Shaders (MPS) in PyTorch (#2037)
- Add system property to config GraphExecutorOptimize (#2156)
- Upgrades ONNXRuntime to 1.13.1 (#2115)
- Upgrades Paddle to 2.3.2 (#2116)
- Upgrades TensorFlow to 2.7.4 (#2121)
- Upgrades HuggingFace tokenizer version to 0.13.1 (#2127)
- Upgrades XGBoost to 1.7.1 (#2143)
- DJLServing
- Adds TabNet Training (#2057)
- Publishes DJL Zero (#2091)
- Adds Spark extension (#2162)
- Introduces several improvements for timeseries extension
- Adds ImageFeatureExtractor example and resnet base model to model zoo
Enhancement
- Introduces several enhancements for timeseries extension:
- Introduces several enhancement for HuggingFace tokenizer:
- Adds new models to DJL model zoo:
- DJL API improvements:
- Adds Sparsemax block (#2028)
- Updates the SemanticSegmentationTranslator (#2032)
- Creates Ensembleable (#2043)
- Handle error when forget to initialize a child block (#2045)
- Adds draw mask for BitMapWrapper (#2071)
- Allows show NDArray content in debugger (#2078)
- Rename transparency to opacity in CategoryMask (#2081)
- Allows to show NDArray content in Debugger 2 (#2080)
- Transfer learning with pytorch engine on fresh fruit dataset (#2070)
- Ensure GradientCollector can clear gradients (#2101)
- Handles conflict JNA package issue (#2118)
- Adds Multiplication block (#2110)
- Allows non-ServingTranslatorFactory for DJLServing (#2148)
- Adds cumprod operator (#2152)
- Adds Randperm on PyTorch and MxNet (#2084)
- Creates translator options (#2145)
- CI improvements:
- Add Mac M1 build (#2039)
- Publishes serving tar and zip (#2014)
- Uploads djl-bench release artifacts to S3 (#2020)
- Upgrade deprecated github actions (#2119)
- Upgrade github actions to latest version (#2122)
- Compile JNI only when file changes (#2161)
- Speed up continuous build by not uploading jacoco report (#2166)
- Respect -SNAPSHOT version in jar manifest (#2177)
- Allows JNI to be compiled on headless jdk (#2098)
- Move model zoo download test to canary (#2169)
- Upgrades PyTorch for Android to 1.13.0 (#2171)
- Add some unit tests (#2063)
- Test accumulating gradient collector (#2111)
- Refactor unit test TestRequirements, add missing TestRequirements (#2120)
- Upgrade protobuf version to 3.20.2 (#2035)
- Update deeplabv3 model zoo metadata (#2051)
- Remove String tensor limitation for model output (#2056)
- Disables mapLocation when using MPS device (#2061)
- Adds disablePerSessionThreads option to model loading for ONNXRuntime (#2104)
- LightGBM inference result matches input type (#2129)
- Apply no_optimizer_guard only for Android (#2153)
- Update dependency version (#2176)
- Reduce nested exception level (#2181)
Documentation and Examples
- Updates Semantic Segmentation app (#263)
- Adds the object detection app demo, use onnxruntime engine (#266)
- Adds stable diffusion demo (#269)
- Adds Spark extension example (#272)
- Adds DJLServing Postman examples (#276)
- Adds DJLServing Java client demo (#277)
- Adds DJLServing Python client demo (#278)
- Update README.md (#2010)
- Update dependency docs for timeseries package (#2004)
- Update javadoc links (#2017)
- Use latest javadoc links (#2021)
- Info added (#2022)
- Add Mac M1 info in docs (#2040)
- Some doc fixes (#2042)
- Improve memory management and batchify docs (#2076)
- Move serving docs to top level and reorganize (#2100)
- Update docs top level memu (#2102)
- Change timeseries dataset source example and add test (#2109)
- Fix a document issue (#2114)
- Update dependency document (#2134)
- Upgrade pytorch 1.13.0 documents (#2158)
- Add readme for TransferFreshFruit (#2160)
- Made the sites copyright year dyanamic (#2188)
Breaking change
- NDArray.toDebugString() signature has been changed (#2078)
Bug Fixes
- Fixes flooded warning message in PyTorch (#2136)
- Fixes youtube link in quick start (#2012)
- Fixes dlr-native build script ([#2015](https://github.co...
DJL v0.19.0 release
Key Features
- Creates new LightGBM engine (#1895)
- Upgrades and enhancements for Engines
- Introduces several enhancement for HuggingFace tokenizer
- Introduces HuggingFace model zoo (#1984)
- Adds a few built-in Translators for HuggingFace NLP models
- Adds macOS M1 support for HuggingFace tokenizer
- Adds ARM support for HuggingFace tokenizer
- Adds centos 7 support for HuggingFace tokenizer (#1874)
- Adds decode API for HuggingFace tokenizer (#1843)
- Adds padding and truncation support for HuggingFace tokenizer (#1870)
- Support stride in tokenizers (#2006)
- Introduces time series extension (#1903)
- Adds new Audio API and improves audio extension (#1974)
- Adds Android support for ONNXRuntime (#1844)
- JDK18 support (#1892)
- Adds python script to import HuggingFace model into DJL model zoo (#1835)
- DJLServing
Enhancement
- Adds a few more built-in Translators:
- Adds new models to DJL model zoo:
- Image handling enhancement:
- DJL API improvements:
- Adds NDArray normalize() operator (#1924)
- Adds DeferredTranslatorFactory to let serving.properties take effect (#1868)
- Makes PtBertQATranslator compatible with huggingface model (#1827)
- Improves debug log for model loading options. (#1825)
- Allows to load block only model for PyTorch (#1831)
- Adds IdentityBlockFactory for demo/test purpose (#1854)
- Support queryString for JarRepository (#1842)
- Set arguments in serving.properties as model properties (#1853)
- Allow overriding special token flags in encode and decode methods (#1855)
- Adds support for intermediate sequential block results (#1943)
- Adds load SentencePiece model from InputStream (#1949)
- Allows use cached PyTorch native libraries in offline mode by caching "files.txt". (#1982)
- Makes Encoding class constructor protected. (#1945)
- Adds string tensor support for PyTorch (#1968)
- Adds Loss function: Coverage.java (#1653)
- Adds Loss function: QuantileLoss.java (#1652)
- Validate data type for NDArray.set(Buffer) API (#1975)
- Adds offline mode to to ensure not download engine files from network (#1987)
- Adds encodeDual support for HuggingFace tokenizer (#1826)
- Bulk batch creation and array indexing on mxnet engine (#1869)
- Adds NDArray gammaln and sample distribution function support. (#1990)
- Padding when the size of input is 2 in LSTM (#2000)
- Creates a SystemNDManager interface (#1888)
- Adds python script to import huggingface model into DJL model zoo
- Added fill-mask support for converting huggingface model to model zoo (#1849)
- Adds support for converting huggingface token-classification models (#1902)
- Adds support for converting huggingface sentence-similarity models (#1913)
- Adds support for converting huggingface text-classification models (#1972)
Documentation and Examples
- Adds Neural machine translation example (#1851)
- Adds New Bert example using Goemotions (#1682)
- Adds Semantic Segmentation example (#1808)
- Adds tokenizer readme for usage (#1981)
- Updates troubleshooting.md to remove -native-auto package (#1793)
- Document PYTORCH_PRECXX11 usage in README (#1807)
- Immutable array output from InferenceMode PyTorch (#1822)
- Fixes NDIndex javadoc issue (#1841)
- Updates pose estimation example to detect joints for all people (#2002)
- Adds Semantic segmentation and Speech recognition to README (#2003)
- Updates links in README (#2005)
- Adds an example of time series model inference (#1971)
Breaking change
- NDManager.vaildateBufferSize() has been renamed to NDManager.validateBuffer()
- Remove unnecessary DeviceType interface (#1978)
Bug Fixes
- Adds missing text_embedding application in Application.of() (#1917)
- Fixes capped manager bug for TensorFlow (#1952)
- Fixes NDArray.set() bug (#1789)
- Fixes breaking behavior for NDIndex in 0.18.0 (#1801)
- Backward compatible with Apache MXNet indexing. (#1802)
- Fixes OrtNDArray double close issue (#1809)
- Fixes ImageFactory.fromNDArray() bug (#1824)
- Fixes NDArrayAdapter toDevice() and toType() behavior (#1839)
- Fixes the parsing issue (#1857)
- Fixes OrtNDArray double free issue (#1861)
- Fixes memory leak when using NDManager.newBaseManager() (#1887)
- Fixes PyTorch download library fallback to CPU bug (#1951)
- Fixes bug in Criteria (#1964)
- Fixes issue in TrainMnistWithLSTM (#1965)
- Fixes...
DJL v0.18.0 release
Key Features
- Adds macOS M1 chip support for PyTorch #1656, #1696
- JDK 17 support #1672
- Full support of PyTorch Get Indexing for NDArrays #1719
- Full support of PyTorch Set Indexing for NDArrays #1755
- Updates Dataset documentation #1686
- Moves djl-bench to DJL Serving #1743
- Engines and Extensions
- Newly Added Datasets
Enhancement
- Increases build version to 0.18.0 #1645
- Support of take from pytorch #1627
- Upgrades JNA to 5.11.0 #1655
- Improves ServingTranslator output handling #1654
- Adds width/height conversion to ObjectDetection #1651
- Add openCV find rectangle method to improve PaddleORC performance #1662
- Removes unnecessary logics in Paddle #1676
- Adds Cyclical Tracker #1671
- Adds support of
take
on MXNet engine #1649 - Implements GhostBatchNorm #1666
- Allows indexer to attach specific manager #1688
- Upgrades android module to use DJL 0.18.0 #1693
- Uses pytorch to test API and aws-ai module #1695
- Avoid download cudf dependency for XGBoost at build time #1694
- Bumps up versions #1691
- Refactors ServingTranslatorFactory #1702
- Adds "capped" state to NDManager #1683
- Upgrades NDK version to 21.1.6352462 #1707
- Adds LinearCollection block #1658
- Adds android test code #1714
- Changes DJL repo names from aws-samples #1716
- Adds serving deb file publish for CI #1721
- Upgrades codeql github action to v2 #1730
- Fixes publish serving deb #1725
- Adds ai.djl.audio and ai.djl.tablesaw to BOM #1728
- Upgrades java formatter to 1.15.0 #1727
- Adds name to LambdaBlock #1726
- Adds disable static option in MXNet to allow some model running #1735
- Improves Criteria.toBuilder() api #1741
- Fixes serving publish github actions #1742
- Enables better textual description of neural net #1720
- Ignores hidden files for nested model directory #1754
- Creates action to auto-close issues without response #1751
- Builds jni for aarch64 #1756
- Removes unnecessary packages from tensorrt dockerfile #1760
- Adds log for custom Translator loading #1761
- Stores indices with batch #1750
- Adds
put
feature with linear indexing on PyTorch engine #1749 - Adds NDList to IValue unit test #1762
- Makes tensorflow NDArray always dense #1763
- JDK version updated #1767
- Adds IValue Dict(str, IValue) support #1765
- Creates tabular dataset #1699
- Creates PreparedFeaturizer #1700
- Normalizes Numeric Featurizer #1701
- Adds support for registerCustomOpLibrary for ONNXRuntime. #1771
- Implements inverse operation #1768
- Supports Image output for ImageServingTranslator #1772
- Allows user specify model name in serving.properties file #1780
- Adds model zoo implementation #1781
- Change the sagemaker model to s3 #1769
- Improvements to image coloring #1784
- Updates bert classification notebook to reflect changes in CSVDataset #1786
- Paddle model zoo should not have compile time dependency on opencv #1785
Documentation and Examples
- Updates README for 0.17.0 Release #1646
- Increases DJL Version for main branchhttps://github.com//pull/1644
- Fixes broken and redirected links #1647
- Clarifies typo in example documentation #1685
- Fixes javadoc error in JDK 1.8 #1698
- Update description for latest javadoc location #1708
- Creates README for DJL Android PyTorch 1.11 builds #1704
- Adds serving to docs site #1715
- Fixes broken javadoc links in jupyter notebooks #1722
- Readme updates for PyTorch 1.11 #1709
- Updates CVSDataset example README file #1729
- Updates document to use MXNet 1.9.0 #1737
- Adds documentation on loading TF extension libraries for running certa… #1776
- Adds semantic segmentation example #1764
Breaking Changes
The following changes to api.djl.basicdataset.tabular may cause backwards incompatibility:
- Features and Featurizers have been refactored out of the CSVDataset class. The are now present in ai.djl.basicdataset.tabular.utils
- CSVDataset now extends a new abstract class, TabularDataset
- api.djl.basicdataset.utils.DynamicBuffer implementation has moved to api.djl.basicdataset.tabular.utils.DynamicBuffer
Bug Fixes
- [TensorFlow] fix GPU memory leak #1648
- [tensorrt] Fixes native library path #1650
- Fixes bug in NDArray.oneHot() API #1661
- Fix errors in "getIoU" function #1687
- Follow symlinks when loading models. #1692
- [pytorch] Fixes model loading bug for 1.11.0 #1705
- Ensure PreparedOneHotStringFeaturizer encodes categorical mappings co… #1723
- [tensorflow] Avoid NPE in TfEngine #1734
- [m1] Fix test failure on macOS M1 machine by @frankfliu in #1777
Contributors
@dandansamax
@DiaaAj
@frankfliu
@WHALEEYE
@patins1
@JohnDoll2023
@KexinFeng
@Konata-CG
@pdradx
@lanking520
@siddvenk
@LanAtGitHub
@warthecatalyst
@zachgk
@freemanliu
@liumingxiy
New Contributors
- @Konata-CG made their first contribution in #1598
- @pdradx made their first contribution in #1661
- @JohnDoll2023 made their first contribution in #1685
- @liumingxiy made their first contribution in #1687
- @LanAtGitHub made their first contribution in #1679
- @freemanliu made their first contribution in #1692
- @DiaaAj made their first contribution in #1666
- @warthecatalyst made thei...
DJL v0.17.0 release
Key Features
- Adds linux AArch64 support for PyTorch
- Upgrades Engine Releases
- Newly Added Datasets
- Support freezing parameters for transfer learning (#1544)
Enhancement
- Upgrade djl-bench to 0.15.0 (#1476)
- Add SessionOptions support for OnnxRuntime (#1479)
- Device Name parsing (#1490)
- arena allocator setter (#1510)
- Upgrade native build mxnet version (#1517)
- Refactor ml extension support (#1521)
- Parse default device with Device.fromName (#1529)
- Upgrade dependency versions (#1533)
- release Update document version to 0.16.0 (#1536)
- Bump up version to 0.17.0 (#1537)
- Building DJL For aarch64 (#1526)
- api Make resource loading compatible with java9 module (#1541)
- pytorch Allows multiple native jars to package into fat jar (#1543)
- Add document with installation instructions (#1548)
- Separate AbstractSymbolBlock from AbstractBlock (#1555)
- Add better error message for libstdc++ tf errors (#1570)
- basicdataset Add Stanford Question Answering Dataset (#1554)
- xgb Set default missing value to NaN (#1571)
- allow empty batch data (#1569)
- pytorch Allows load libtroch from pip installation package (#1577)
- HF Tokenizer: get charspans (#1584)
- benchmark Allows benchmark run on aarch64 for PyTorch (#1591)
- add pytorch cuDNN acceleration (#1592)
- add troubleshoot issue (#1600)
- add paddle CU110 (#1604)
- Update badge (#1610)
- ONNXRuntime add tensorRT option (#1611)
- api Refactor metrics API (#1613)
- api Fixes metric dimension (#1614)
- bom Update bom dependency (#1615)
- pytorch Use precxx11 build for aarch64 native library (#1619)
- pytorch use precxx11 for aarch64 (#1620)
- Update inference_performance_optimization.md (#1621)
- Fix testFreezeParameters for multi-gpu (#1623)
- Support gather of pytorch (#1622)
Documentation and Examples
- Update README for 0.15.0 release (#1477)
- Update README to use 0.16.0-SNAPSHOT version (#1486)
- typo fix (#1519)
- docs Fixes dataset document. (#1523)
- jupyter remove unecessary maven import (#1540)
- examples Update maven pom file dependency version (#1546)
- Add release note to README (#1565)
- update pytorch build instruction on android (#1630)
- bump up versioning (#1633)
- update android package versions (#1635)
- docs Update pytorch and paddle version (#1634)
Breaking Changes
- Custom symbol blocks should extend
AbstractSymbolBlock
instead ofAbstractBlock
Bug Fixes
- Fix flaky test for tensorflow 2.7.0 on GPU (#1475)
- Fixes topK items for DetectedObjects and make it configurable to Classifications (#1478)
- Fix load native library failure on Android (#1485)
- Adding huggingface tokenizer extension to BOM (#1487)
- Fixes #1149, fix NPE bug (#1492)
- Fix djl site vue version (#1495)
- Fixes MLP example code in README (#1497)
- Fixes jni dependency in README document (#1513)
- Fixes memory leak in hybrid engine (#1518)
- Fix the version issue reported from get-pip.py (#1530)
- Fix FastText JNI build (#1531)
- api Fixes loading BlockFactory bug (#1547)
- tensorflow Fixes tensorflow session always on gpu(0) bug (#1558)
- xgb Fixes missing anonymous classes (#1572)
- examples Fix ImageClassification invalid probability (#1575)
- fix naming (#1581)
- ONNXRuntime fix naming (#1608)
- basicdataset Fixed out of bound limit (#1599)
- api Avoid NPE in Metric.toString() (#1626)
- integration Enable gather unit test for windows (#1638)
- Add rpath fix to Native Publish PyTorch (#1639)
- api Fixes JDK 18 compiler warnings (#1640)
Contributors
- @AKAGIwyf
- @andreabrduque
- @dandansamax
- @frankfliu
- @hd1080p
- @KexinFeng
- @lanking520
- @patins1
- @sindhuvahinis
- @WHALEEYE
- @zachgk
New Contributors
- @sindhuvahinis made their first contribution in #1519
- @KexinFeng made their first contribution in #1530
- @hd1080p made their first contribution in #1526
- @dandansamax made their first contribution in #1545
- @WHALEEYE made their first contribution in #1554
- @patins1 made their first contribution in #1569
- @AKAGIwyf made their first contribution in #1580
Full Changelog: 750c153...v0.17.0
DJL v0.16.0 release
Key Features
- Upgrades Apache MXNet engine to 1.9.0 with CUDA 11.2 support
- Improves ONNXRuntime engine memory configurations
- Improves fastText engine’s API
- Fixes several critical bugs
Enhancement
- Upgrades Apache MXNet engine to 1.9.0 with CUDA 11.2 support (#1517)
- Improves ONNXRuntime engine:
- Introduces several API improvements:
- Uses JDK 11 for github actions in CI build (#1489)
- Adds huggingface tokenizer extension to BOM (#1487)
- Removes unnecessary github actions workflow (#1484)
- Upgrades DJL android to 0.15.0 (#1483)
Documentation and examples
- Fixes outdated dataset document (#1523)
- Fixes repository README typo (#1519)
- Fixes PyTorch JNI dependency in README document (#1513)
- Fixes MLP example code in README (#1497)
- Fixes djl.ai website vue version (#1495)
- Updates inferentia demo to DJL 0.15.0 (#210)
- Updates android README to use 0.15.0 (#1486)
- Publishes D2L Chinese book with latest chapters https://d2l-zh.djl.ai
Breaking change
- fastText specific inference and training APIs are removed, use standard DJL API instead
Bug Fixes
- Fixes memory leak in hybrid engine (#1518)
- Fixes fastText JNI build (#1531)
- Fixes the python version bug in the benchmark workflow files (#1530)
- Fixes sentencepiece NPE bug (#1492)
- Fixes PyTorch load native library failure on Android (#1485)
- Fixes topK items for DetectedObjects (#1478)
Contributors
This release is thanks to the following contributors:
- Andréa Duque (@andreabrduque)
- Dennis Kieselhorst (@deki)
- Frank Liu (@frankfliu)
- Jake Lee (@stu1130)
- Kexin Feng (@KexinFeng)
- Qing Lan (@lanking520)
- Sindhu Somasundaram (@sindhuvahinis)
- Zach Kimberg (@zachgk)
New Contributors
- Andréa Duque made their first contribution in #1510
Full Changelog: https://github.com/deepjavalibrary/djl/compare/v0.15.0..v0.16.0
DJL v0.15.0 release
DJL v0.15.0 updates the engines PyTorch to 1.10.0, ONNXRuntime to 1.10.0, TensorFlow to 2.7.0, TensorFlowLite to 2.6.2 and introduces several new features:
Key Features
- Introduces Huggingface tokenizers extension which allows user to leverage high performance fast tokenizer in Java
- Upgrades PyTorch engine to 1.10.0 with CUDA 11.3 support
- Upgrades TensorFlow to 2.7.0 with CUDA 11.3 support
- Upgrades ONNXRuntime engine to 1.10.0
- Upgrades TensorFlowLite to 2.6.2
- Provides better PyTorch engine backward compatibility support
- Adds load model from InputStream support
- Adds Windows support for SentencePiece
- Removes -auto packages to simplify DJL dependencies
- Fixes log4j CVEs
Enhancement
- Improves PyTorch engine:
- Adds support to load custom build PyTorch native library from specified location
- Adds support to use precxx11 version of PyTorch on GPU
- Provides offline native package for older version of PyTorch to run with latest DJL (#1385)
- Report correct engine version for custom build PyTorch native library
- Adds Tuple support to IValue (#1436)
- Adds support to load model from InputStream for some of the engines (#1400):
- Introduces several new features in djl-serving:
- Automatically detect model’s engine
- Reduces netty dependencies to minimize package size
- Installs engine dependency on-demand for non-commonly used engines
- Adds support for nested folder in model archive file
- Released djl-serving to homebrew
- Introduces server new features in djl-bench
- Release djl-bench to homebrew and snapcraft
- Improve opencv extension to expose API from opencv to end users
- Introduces several API improvements:
- Publishes several new docker images to dockerhub (https://hub.docker.com/u/deepjavalibrary)
- djl-serving docker image
- djl-serving for inferentia docker image
- DJL windows docker image with jdk11
Documentation and examples
- Updates inferentia demo to support neuron runtime 2.x
- Updates jupyter notebooks with NoBatchifyTranslator to simplify example code (#1370)
- Updates benchmark README (#1410)
- Fixes rank classification jupyter notebook (#1368)
- Updates packaging model document (#1471)
- Fixes d2l book (https://d2l.djl.ai/) image display issue (#183)
- Translates d2l Chinese book (https://d2l-zh.djl.ai/) chapter 9 to chapter 14 to Chinese
Breaking change
- N/A
Bug Fixes
- Fixes several ci issues on Github Actions (#1358, #1362, #1363, #1364)
- Fixes crash when IValue list input is empty (#1440)
- Fixes NullPointException bug in getContextClassLoader() (#1445)
- Fixes model name detection issue in loading model from jar (#1446)
- Fixes unset numEmbeddings in TrainableWordEmbedding.java (#1450)
- Fixes protobuf-java CVEs
Contributors
This release is thanks to the following contributors:
- Andrey Zakharov (@zakhio)
- daofaziran1 (@daofaziran1)
- enpasos (@enpasos)
- Frank Liu (@frankfliu)
- Hampus Londögård (@Lundez)
- Jake Lee (@stu1130)
- James Zow(@jzow)
- Qing Lan (@lanking520)
- Zach Kimberg (@zachgk)
- Viet Yen Nguyen (@nguyenvietyen)
New Contributors
- @Lundez made their first contribution in #1412
- @zakhio made their first contribution in #1436
- @daofaziran1 made their first contribution in #1450