All Projects → akosiorek → Forge

akosiorek / Forge

Licence: gpl-3.0
Basic experiment framework for tensorflow.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Forge

Jmcs
Java framework to homogenize your GUI across all the 3 main desktop OS, and further integrates your app to them.
Stars: ✭ 5 (-93.67%)
Mutual labels:  framework, logging
Modelchimp
Experiment tracking for machine and deep learning projects
Stars: ✭ 121 (+53.16%)
Mutual labels:  ml, experiment
Trixi
Manage your machine learning experiments with trixi - modular, reproducible, high fashion. An experiment infrastructure optimized for PyTorch, but flexible enough to work for your framework and your tastes.
Stars: ✭ 211 (+167.09%)
Mutual labels:  logging, experiment
Izumi
Productivity-oriented collection of lightweight fancy stuff for Scala toolchain
Stars: ✭ 423 (+435.44%)
Mutual labels:  framework, logging
Gf
GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang.
Stars: ✭ 6,501 (+8129.11%)
Mutual labels:  framework, logging
Gear
A lightweight, composable and high performance web service framework for Go.
Stars: ✭ 544 (+588.61%)
Mutual labels:  framework, logging
Unity Experiment Framework
UXF - Framework for creating human behaviour experiments in Unity
Stars: ✭ 81 (+2.53%)
Mutual labels:  framework, experiment
Bash Oo Framework
Bash Infinity is a modern standard library / framework / boilerplate for Bash
Stars: ✭ 5,247 (+6541.77%)
Mutual labels:  framework, logging
Dotlog
Simple and easy go log framework
Stars: ✭ 30 (-62.03%)
Mutual labels:  framework, logging
Rsf
The Robot Security Framework (RSF), Robot Security Framework (RSF), a standardized methodology to perform security assessments in robotics.
Stars: ✭ 76 (-3.8%)
Mutual labels:  framework
Cthackframework
游戏外挂通用框架,快速构建外挂程序。
Stars: ✭ 78 (-1.27%)
Mutual labels:  framework
Onyx
Powerful framework for modern applications 💪
Stars: ✭ 76 (-3.8%)
Mutual labels:  framework
Russian news corpus
Russian mass media stemmed texts corpus / Корпус лемматизированных (морфологически нормализованных) текстов российских СМИ
Stars: ✭ 76 (-3.8%)
Mutual labels:  ml
Kales
Kotlin on Rails
Stars: ✭ 78 (-1.27%)
Mutual labels:  framework
Laravel Log To Db
Custom Laravel and Lumen 5.6+ Log channel handler that can store log events to SQL or MongoDB databases. Uses Laravel/Monolog native logging functionality.
Stars: ✭ 76 (-3.8%)
Mutual labels:  logging
Superseriousstats
superseriousstats is a fast and efficient program to create statistics out of various types of chat logs
Stars: ✭ 78 (-1.27%)
Mutual labels:  logging
Bige
游戏服务器框架。
Stars: ✭ 76 (-3.8%)
Mutual labels:  framework
Pyrustic
Lightweight framework and software suite to help develop, package, and publish Python desktop applications
Stars: ✭ 75 (-5.06%)
Mutual labels:  framework
Neo
Create blazing fast multithreaded Web Apps
Stars: ✭ 1,219 (+1443.04%)
Mutual labels:  framework
Transformers
基于 JavaScript 的组件化开发框架,如果你想以搭积木的方式开发项目,那就试试 Transformers 框架吧~
Stars: ✭ 78 (-1.27%)
Mutual labels:  framework

Forge

A lightweight tool for managing ML experiments.

Forge makes it easier to configure experiments and allows easier model inspection and evaluation due to smart checkpoints. With Forge, you can configure and build your dataset and model in separate files and load them easily in an experiment script or a jupyter notebook. Once the model is trained, it can be easily restored from a snapshot (with the corresponding dataset) without the access to the original config files.

Typical workflow

  1. Write a data config (example here).

  2. Write a model config (example here).

  3. Run the training script (example here).
    Typically, you would copy the example train script to your project and customize it with any additional logging/setup required.

  4. (Optional) Analyze the trained model in a notebook (example here) or in another script (example here).

Config files and scripts

Dataset and model config files are general (separate) python scripts that define a load function. Dataset should return a dict, which is passed as keyword arguments to the model config.

Both config files and any scripts use forge.flags for configuration. They are based on an older implementation of abseil. Forge does not take Tensorflow flags into account, so it's best to use forge.flags instead.

Model Checkpoints

The training script relies on checkpoint_dir and run_name flags, that specify where model checkpoints should be kept. For every run, a job-specific folder is created under checkpoint_dir/run_name/#, where # is a number. All config flags and dataset/model config are stored in a job folder, so that the corresponding job can be easily resumed later by passing the resume flag. It is also easy to load a model checkpoint in another script or a jupyter notebook.

Contributing

Features requests and contributions in the form of a pull request are welcome.

Copyright

Adam R. Kosiorek

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].