images-to-smiles
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 8 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.4%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: MThanmayee
- License: mit
- Language: Python
- Default Branch: master
- Size: 26.5 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
DECIMER Image Transformer: Deep Learning for Chemical Image Recognition using Efficient-Net V2 + Transformer
Abstract
The DECIMER 2.2 5 project [1] was launched to address the OCSR problem with the latest computational intelligence methods to provide an automated open-source software solution.
The original implementation of DECIMER[1] using GPU takes a longer training time when we use a bigger dataset of more than 1 million images. To overcome these longer training times, many implement the training script to work on multiple GPUs. However, we tried to step up and implemented our code to use Google's Machine Learning hardware TPU(Tensor Processing Unit) [2]. You can learn more about the hardware here.
Method and model changes
- The DECIMER now uses EfficientNet-V2[3] for Image feature extraction and a transformer model [4] for predicting the SMILES.
- The SMILES used during training and predictions
Changes in the training method
- We converted our datasets into TFRecord Files, A binary file system the TPUs can read in a much faster way. Also, we can use these files to train on GPUs. Using the TFRecord helps us train the model fast by overcoming the bottleneck of reading multiple files from the hard disks.
- We moved our data to Google Cloud Buckets. An efficient storage solution provided by the google cloud environment where we can access these files from any google cloud VMs easily and in a much faster way. (To get the highest speed, the cloud storage and the VM should be in the same region)
- We adopted the TensorFlow data pipeline to load all TFRecord files to the TPUs from Google Cloud Buckets.
- We modified the main training code to work on TPUs using TPU strategy introduced in Tensorflow 2.0.
How to use DECIMER?
- Python package Documentation
- Model library could be found here:
We suggest using DECIMER inside a Conda environment, which makes the dependencies install easily.
- Conda can be downloaded as part of the Anaconda or the Miniconda platforms (Python 3.7). We recommend installing miniconda3. Using Linux, you can get it with:
$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh $ bash Miniconda3-latest-Linux-x86_64.sh
Instructions
Python Package Installation
Use a conda environment for clean installation
shell
$ sudo apt update
$ sudo apt install unzip
$ conda create --name DECIMER python=3.10.0
$ conda activate DECIMER
$ conda install pip
$ python3 -m pip install -U pip
Install the latest code from GitHub with:
shell
$ pip install git+https://github.com/Kohulan/DECIMER-Image_Transformer.git
Install in development mode with:
shell
$ git clone https://github.com/Kohulan/DECIMER-Image_Transformer.git decimer
$ cd decimer/
$ pip install -e.
- Where -e means "editable" mode.
Install from PyPi
shell
$ pip install decimer
How to use inside your own python script
```python from DECIMER import predict_SMILES
Chemical depiction to SMILES translation
imagepath = "path/to/imagefile" SMILES = predictSMILES(image_path) print(SMILES) ```
Install tensorflow == 2.10.1 if you do not have an Nvidia GPU (On Mac OS)
License:
- This project is licensed under the MIT License - see the LICENSE file for details
Citation
- Rajan K, Brinkhaus HO, Agea MI, Zielesny A, Steinbeck C (2023) DECIMER.ai - An open platform for automated optical chemical structure identification, segmentation and recognition in scientific publications. ChemRxiv. doi: https://10.26434/chemrxiv-2023-xhcx9
- Rajan, K., Zielesny, A. & Steinbeck, C. DECIMER 1.0: deep learning for chemical image recognition using transformers. J Cheminform 13, 61 (2021). https://doi.org/10.1186/s13321-021-00538-8
References
- Rajan, K., Zielesny, A. & Steinbeck, C. DECIMER: towards deep learning for chemical image recognition. J Cheminform 12, 65 (2020). https://doi.org/10.1186/s13321-020-00469-w
- Norrie T, Patil N, Yoon DH, Kurian G, Li S, Laudon J, Young C, Jouppi N, Patterson D (2021) The Design Process for Google's Training Chips: TPUv2 and TPUv3. IEEE Micro 41:5663
- Tan M, Le QV (2021) EfficientNetV2: Smaller Models and Faster Training. arXiv [cs.CV]
- Vaswani A, Shazeer N, Parmar N, Uszkoreit J, Jones L, Gomez AN, Kaiser L, Polosukhin I (2017) Attention Is All You Need. arXiv [cs.CL]
- Rajan, K., Zielesny, A. & Steinbeck, C. DECIMER 1.0: deep learning for chemical image recognition using transformers. J Cheminform 13, 61 (2021). https://doi.org/10.1186/s13321-021-00538-8
Acknowledgement
- We thank Charles Tapley Hoyt for his valuable advice and help in improving the DECIMER repository.
- Research supported with Cloud TPUs from Google's TPU Research Cloud (TRC)
Author: Kohulan
Project Website:
- A web application implementation is available at decimer.ai, implemented by Otto Brinkhaus
Research Group
Owner
- Login: MThanmayee
- Kind: user
- Repositories: 8
- Profile: https://github.com/MThanmayee
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Rajan"
given-names: "Kohulan"
orcid: "https://orcid.org/0000-0003-1066-7792"
- family-names: "Zielesny"
given-names: "Achim"
orcid: "https://orcid.org/0000-0003-0722-4229"
- family-names: "Steinbeck"
given-names: "Christoph"
orcid: "https://orcid.org/0000-0001-6966-0814"
title: "DECIMER-V2"
version: 2.2.0
doi: 10.5281/zenodo.7655952
date-released: 2022.05.18
url: "https://github.com/Kohulan/DECIMER-Image_Transformer-2"
license: MIT
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: about 2 years ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- actions/setup-python v1 composite
- efficientnet *
- nbsphinx *
- numpy >=1.19
- opencv-python *
- pyheif *
- pystow *
- sphinx-autodoc-typehints *
- sphinx_rtd_theme *
- tensorflow >=2.6.3
- Brlapi ==0.8.3
- Brotli ==1.0.9
- Deprecated ==1.2.13
- Flask ==2.3.2
- Jinja2 ==3.1.2
- Keras-Applications ==1.0.8
- Mako ==1.1.3
- Markdown ==3.4.3
- MarkupSafe ==2.1.3
- Pillow ==9.0.1
- PyGObject ==3.42.1
- PyGithub ==1.55
- PyJWT ==2.3.0
- PyNaCl ==1.5.0
- PyWavelets ==1.4.1
- PyYAML ==5.4.1
- Pygments ==2.11.2
- SecretStorage ==3.3.1
- Werkzeug ==2.3.6
- absl-py ==1.4.0
- appdirs ==1.4.4
- apturl ==0.5.2
- astunparse ==1.6.3
- attrs ==21.2.0
- backcall ==0.2.0
- bcrypt ==3.2.0
- beautifulsoup4 ==4.10.0
- beniget ==0.4.1
- blinker ==1.6.2
- breezy ==3.2.1
- cachetools ==5.3.1
- certifi ==2020.6.20
- chardet ==4.0.0
- click ==8.1.3
- colorama ==0.4.4
- command-not-found ==0.3
- configobj ==5.0.6
- cryptography ==3.4.8
- cupshelpers ==1.0
- cycler ==0.11.0
- dbus-python ==1.2.18
- decorator ==4.4.2
- defer ==1.0.6
- distro ==1.7.0
- distro-info ===1.1build1
- dulwich ==0.20.31
- duplicity ==0.8.21
- efficientnet ==1.1.1
- fastbencode ==0.0.5
- fasteners ==0.14.1
- fastimport ==0.9.14
- flatbuffers ==23.5.26
- fonttools ==4.29.1
- fs ==2.4.12
- future ==0.18.2
- gast ==0.4.0
- google-auth ==2.21.0
- google-auth-oauthlib ==1.0.0
- google-pasta ==0.2.0
- gpg ===1.16.0
- grpcio ==1.56.0
- h5py ==3.9.0
- html5lib ==1.1
- httplib2 ==0.20.2
- idna ==3.3
- imageio ==2.31.1
- importlib-metadata ==4.6.4
- ipython ==7.31.1
- itsdangerous ==2.1.2
- jax ==0.4.13
- jedi ==0.18.0
- jeepney ==0.7.1
- keras ==2.12.0
- keyring ==23.5.0
- kiwisolver ==1.3.2
- language-selector ==0.1
- launchpadlib ==1.10.16
- lazr.restfulclient ==0.14.4
- lazr.uri ==1.0.6
- lazy_loader ==0.3
- libclang ==16.0.0
- lockfile ==0.12.2
- louis ==3.20.0
- lxml ==4.8.0
- lz4 ==3.1.3
- macaroonbakery ==1.3.1
- matplotlib ==3.5.1
- matplotlib-inline ==0.1.3
- ml-dtypes ==0.2.0
- monotonic ==1.6
- more-itertools ==8.10.0
- mpmath ==0.0.0
- netifaces ==0.11.0
- networkx ==3.1
- numpy ==1.23.5
- oauthlib ==3.2.0
- olefile ==0.46
- opencv-python ==4.8.0.74
- opt-einsum ==3.3.0
- packaging ==21.3
- paramiko ==2.9.3
- parso ==0.8.1
- patiencediff ==0.2.1
- pexpect ==4.8.0
- pickleshare ==0.7.5
- pillow-heif ==0.11.1
- ply ==3.11
- prompt-toolkit ==3.0.28
- protobuf ==4.23.3
- ptyprocess ==0.7.0
- pyRFC3339 ==1.1
- pyasn1 ==0.5.0
- pyasn1-modules ==0.3.0
- pycairo ==1.20.1
- pycups ==2.0.1
- pygraphviz ==1.7
- pymacaroons ==0.13.0
- pyparsing ==2.4.7
- pystow ==0.5.0
- python-apt ==2.3.0
- python-dateutil ==2.8.1
- python-debian ===0.1.43ubuntu1
- python-gitlab ==2.10.1
- pythran ==0.10.0
- pytz ==2022.1
- pyxdg ==0.27
- reportlab ==3.6.8
- requests ==2.25.1
- requests-oauthlib ==1.3.1
- requests-toolbelt ==0.9.1
- rsa ==4.9
- scikit-image ==0.21.0
- scipy ==1.8.0
- six ==1.16.0
- soupsieve ==2.3.1
- ssh-import-id ==5.11
- sympy ==1.9
- systemd-python ==234
- tensorboard ==2.12.3
- tensorboard-data-server ==0.7.1
- tensorflow ==2.12.0
- tensorflow-estimator ==2.12.0
- tensorflow-io-gcs-filesystem ==0.32.0
- termcolor ==2.3.0
- tifffile ==2023.4.12
- tqdm ==4.65.0
- traitlets ==5.1.1
- typing_extensions ==4.7.0
- ubuntu-advantage-tools ==27.7
- ubuntu-drivers-common ==0.0.0
- ufoLib2 ==0.13.1
- ufw ==0.36.1
- unattended-upgrades ==0.1
- unicodedata2 ==14.0.0
- urllib3 ==1.26.5
- usb-creator ==0.3.7
- vboxapi ==1.0
- wadllib ==1.3.6
- wcwidth ==0.2.5
- webencodings ==0.5.1
- wrapt ==1.13.3
- xdg ==5
- xkit ==0.0.0
- zipp ==1.0.0
- efficientnet *
- opencv-python *
- pillow-heif *
- pystow *
- tensorflow_os ,


