Skip to main content

pytorch❤️keras

Project description

Pytorch❤️Keras

The torchkeras library is a simple tool for training neural network in pytorch jusk in a keras style. 😋😋

torchkeras ❤️ wandb: https://wandb.ai/lyhue1991/mnist_torchkeras


Open In Kaggle

1, Introduction

With torchkeras, You need not to write your training loop with many lines of code, all you need to do is just

like these two steps as below:

(i) create your network and wrap it and the loss_fn together with torchkeras.KerasModel like this: model = torchkeras.KerasModel(net,loss_fn=nn.BCEWithLogitsLoss()) a metrics_dict parameter is optional.

(ii) fit your model with the training data and validate data.

The main code of use torchkeras is like below.

import torch 
import torchkeras

#use torchkeras.KerasModel 
model = torchkeras.KerasModel(net,
                              loss_fn = nn.BCEWithLogitsLoss(),
                              optimizer= torch.optim.Adam(net.parameters(),lr = 0.001),
                              metrics_dict = {"acc":torchmetrics.Accuracy(task='binary')}
                             )
dfhistory=model.fit(train_data=dl_train, 
                    val_data=dl_val, 
                    epochs=20, 
                    patience=3, 
                    ckpt_path='checkpoint.pt',
                    monitor="val_acc",
                    mode="max")

This project seems somehow powerful, but the source code is very simple.

Actually, only about 200 lines of Python code.

If you want to understand or modify some details of this project, feel free to read and change the source code!!!


2, Features

Besides the basic torchkeras.KerasModel, another powerful class torchkeras.LightModel is created to support pytorch_lightning training style.

The KerasModel is much simpler, and is recommended for beginner users.

The LightModel borrows many features from the library pytorch_lightning and shows a best practice.

Although different, the usage of torchkeras.KerasModel and torchkeras.LightModel is very similar.

features torchkeras.KerasModel 🔥🔥🔥 torchkeras.LightModel
progress bar
early stopping
metrics from torchmetrics
gpu training
multi-gpus training(ddp)
tensorboard callback
pretty wandb callback
other callbacks from pytorch_lightning
simple code

3, Basic Examples

You can follow these full examples to get started with torchkeras.

Have fun!😋😋

example read notebook code run example in kaggle
①kerasmodel basic 🔥🔥 torchkeras.KerasModel example
Open In Kaggle

②kerasmodel wandb 🔥🔥🔥 torchkeras.KerasModel with wandb demo
Open In Kaggle

③kerasmodel tunning 🔥🔥🔥 torchkeras.KerasModel with wandb sweep demo
Open In Kaggle

④kerasmodel tensorboard torchkeras.KerasModel with tensorboard example
⑤kerasmodel ddp/tpu torchkeras.KerasModel ddp tpu examples
Open In Kaggle

⑥lightmodel basic torchkeras.LightModel example
⑦lightmodel tensorboard torchkeras.LightModel with tensorboard example

If you want to understand or modify some details of this project, feel free to read and change the source code!!!

Any other questions, you can contact the author form the wechat official account below:

算法美食屋

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torchkeras-3.7.1.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

torchkeras-3.7.1-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file torchkeras-3.7.1.tar.gz.

File metadata

  • Download URL: torchkeras-3.7.1.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.0

File hashes

Hashes for torchkeras-3.7.1.tar.gz
Algorithm Hash digest
SHA256 6d3e97713d9d3b14358219158729097e947e1267f83f37ccd42c1ff806e9cc26
MD5 46dadcaadf557e3d8e05475b2887058d
BLAKE2b-256 36b49942719f2a6eabd0a46d8370de5cea42e9c86e76fa43c8819b996bdd5b4e

See more details on using hashes here.

File details

Details for the file torchkeras-3.7.1-py3-none-any.whl.

File metadata

  • Download URL: torchkeras-3.7.1-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.0

File hashes

Hashes for torchkeras-3.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 75fc7b205cfe2b8f300d2dc458fc934295aa760c1e2b2d45db01503fa5ffa253
MD5 fec777c4d494b8a89c3c222f3c9ebf07
BLAKE2b-256 4804f3aba44849e4d7d6fd64b81a354750eca172eaf98b9ebc3abef50d0b6b72

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page