All Projects → FluxML → Metalhead.jl

FluxML / Metalhead.jl

Licence: other
Computer vision models for Flux

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Metalhead.jl

Fluxcapacitor
This is what makes the Flux design pattern possible.
Stars: ✭ 126 (-34.03%)
Mutual labels:  flux
Qframework
Unity3D System Design Architecture
Stars: ✭ 2,326 (+1117.8%)
Mutual labels:  flux
Transformers.jl
Julia Implementation of Transformer models
Stars: ✭ 173 (-9.42%)
Mutual labels:  flux
React Todo
A sample todo app with React and Flux in ES2015 (ES6) served by Hapi
Stars: ✭ 130 (-31.94%)
Mutual labels:  flux
Firedux
🔥 🐣 Firebase + Redux for ReactJS
Stars: ✭ 148 (-22.51%)
Mutual labels:  flux
Influxdb Client Python
InfluxDB 2.0 python client
Stars: ✭ 165 (-13.61%)
Mutual labels:  flux
React Typescript Webpack
Seed for building React app using Typescript and Webpack build using FLUXless architecture
Stars: ✭ 118 (-38.22%)
Mutual labels:  flux
Typescript Webpack React Redux Boilerplate
React and Redux with TypeScript
Stars: ✭ 182 (-4.71%)
Mutual labels:  flux
Fluxible
A pluggable container for universal flux applications.
Stars: ✭ 1,811 (+848.17%)
Mutual labels:  flux
Geometricflux.jl
Geometric Deep Learning for Flux
Stars: ✭ 175 (-8.38%)
Mutual labels:  flux
Stockroom
🗃 Offload your store management to a worker easily.
Stars: ✭ 1,745 (+813.61%)
Mutual labels:  flux
Suas Ios
Unidirectional data flow architecture implementation for iOS, macOS, tvOS and watchOS
Stars: ✭ 147 (-23.04%)
Mutual labels:  flux
Retalk
🐤 The Simplest Redux
Stars: ✭ 168 (-12.04%)
Mutual labels:  flux
Influxdb Client Csharp
InfluxDB 2.0 C# Client
Stars: ✭ 130 (-31.94%)
Mutual labels:  flux
Reactor Addons
Official modules for the Reactor project
Stars: ✭ 175 (-8.38%)
Mutual labels:  flux
React I18nify
Simple i18n translation and localization components and helpers for React.
Stars: ✭ 123 (-35.6%)
Mutual labels:  flux
Redux Zero
A lightweight state container based on Redux
Stars: ✭ 1,977 (+935.08%)
Mutual labels:  flux
Bedrock
Build a Node web app with user authentication, security, and more in under 10 minutes. Now supports React Hot Loading for super-fast development. 👌
Stars: ✭ 187 (-2.09%)
Mutual labels:  flux
Multi Tenancy
Flux v1: Manage a multi-tenant cluster with Flux and Kustomize
Stars: ✭ 180 (-5.76%)
Mutual labels:  flux
General Store
Simple, flexible store implementation for Flux. #hubspot-open-source
Stars: ✭ 171 (-10.47%)
Mutual labels:  flux

Metalhead

Build Status Coverage

Pkg.add("Metalhead")

This package provides computer vision models that run on top of the Flux machine learning library.

IJulia Screenshot

Each model (like VGG19) is a Flux layer, so you can do anything you would normally do with a model; like moving it to the GPU, training or freezing components, and extending it to carry out other tasks (such as neural style transfer).

# Run with dummy image data
julia> x = rand(Float32, 224, 224, 3, 1)
224×224×3×1 Array{Float32,4}:
[:, :, 1, 1] =
 0.353337   0.252493    0.444695   0.767193      0.107599   0.424298   0.218889    0.377959
 0.247294   0.039822    0.829367   0.832303       0.582103   0.359319   0.259342    0.12293
  

julia> vgg(x)
1000×1 Array{Float32,2}:
 0.000851723
 0.00079913
  

# See the underlying model structure
julia> vgg.layers
Chain(Conv2D((3, 3), 3=>64, NNlib.relu), Conv2D((3, 3), 64=>64, NNlib.relu), Metalhead.#3, Conv2D((3, 3), 64=>128, NNlib.relu), Conv2D((3, 3), 128=>128, NNlib.relu), Metalhead.#4, Conv2D((3, 3), 128=>256, NNlib.relu), Conv2D((3, 3), 256=>256, NNlib.relu), Conv2D((3, 3), 256=>256, NNlib.relu), Conv2D((3, 3), 256=>256, NNlib.relu), Metalhead.#5, Conv2D((3, 3), 256=>512, NNlib.relu), Conv2D((3, 3), 512=>512, NNlib.relu), Conv2D((3, 3), 512=>512, NNlib.relu), Conv2D((3, 3), 512=>512, NNlib.relu), Metalhead.#6, Conv2D((3, 3), 512=>512, NNlib.relu), Conv2D((3, 3), 512=>512, NNlib.relu), Conv2D((3, 3), 512=>512, NNlib.relu), Conv2D((3, 3), 512=>512, NNlib.relu), Metalhead.#7, Metalhead.#8, Dense(25088, 4096, NNlib.relu), Flux.Dropout{Float32}(0.5f0, false), Dense(4096, 4096, NNlib.relu), Flux.Dropout{Float32}(0.5f0, false), Dense(4096, 1000), NNlib.softmax)

# Run the model up to the last convolution/pooling layer
julia> vgg.layers[1:21](x)
7×7×512×1 Array{Float32,4}:
[:, :, 1, 1] =
 0.657502  0.598338  0.594517  0.594425  0.594522  0.597183  0.59534
 0.663341  0.600874  0.596379  0.596292  0.596385  0.598204  0.590494
  

Working with common datasets

Metalhead includes support for working with several common object recognition datasets. The datasets() function will attempt to auto-detect any common dataset placed in the datasets/. The Metalhead.download function can be used to download these datasets (where such automatic download is possible - for other data sets, see datasets/README.md), e.g.:

Metalhead.download(CIFAR10)

Once a dataset is loaded, it's training, validation, and test images are available using the trainimgs, valimgs, and testimgs functions. E.g.

julia> valimgs(dataset(ImageNet))[rand(1:50000, 10)]

will fetch 10 random validation images from the ImageNet data set.

Inline Images at the REPL

If you are using OS X, it is recommended that you use iTerm2 and install the TerminalExtensions.jl package. This will allow you to see inference results as well as the corresponding images directly in your terminal:

REPL Screenshot

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].