Code Monkey home page Code Monkey logo

pytoy's Introduction

PyToy

Still Under Construction

参考MatrixSlow基于numpy和cupy实现的简易的深度学习框架

实现了常见的算子,优化器,基础的损失函数等

kernel:卷积,BatchNormalization,ReLU,Dropout,池化

optimizer:AdaGrad, RMSProp, Adam

loss: CrossEntropyWithSoftmax, L2Loss

基于ParameterServer的分布式训练

通过算子封装常用的layer

在test中有框架具体的使用用例

绘制计算图示例

20211217144418

受到这个项目的启发,之后会我会根据这个框架写一个教程,教大家实现一个自己的深度学习框架

当然还是推荐大家去看一下MatrixSlow原作者的书,这里实现的PyToy也是相当于对原框架的一个增强

Contribution Guidance

项目中有一个todo_list,我会在后面的时间慢慢实现todo_list的内容,也欢迎大家与我联系一起开发


An simple deeplearning framework pytoy inspired by MatrixSlow(see the link above)

I've implemented common operators, optimizers, loss function. Check the brief description above

Also i've implemented distributed training based on ParameterServer architecture.

Code Architecture:

pytoy/core: kernel of this framework. Basically it's the abstaction classes and the core part of compute graph

pytoy/layer: encapsulation of the common operators

pytoy/distribute: distributed training framework based on gRPC and protobuf

pytoy/ops: main part of this framework, operators and loss functions are in there

pytoy/optimizer: basic optimizers used in deep learning

pytoy/trainer: trainer, mostly it's the optimization for effiency training and the abstraction of distributed training

pytoy/utils: utils used in this framework

test: examples which shows how you can utilize this framework. I tested it to training cifar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.