Giter Club home page Giter Club logo

fasterai's Introduction

fasterai's People

Contributors

nathanhubens avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

fasterai's Issues

[QUESTION] Layer with no bias while prunning?

Hello again,

Continuing the example from my last issue (I'm trying to compress a resnet18 vision_learner model by following the Get Started tutorial), when performing the following operation:

# Launch training
teacher.fine_tune(epochs)

# Distill
m = globals()[config["model"]] # resnet18()
student = Learner(data_loaders, m(num_classes=int(teacher.n_out)),
                  metrics=[accuracy])
kd_cb = KnowledgeDistillationCallback(teacher.model, SoftTarget)
student.fit_one_cycle(epochs, 1e-4, cbs=kd_cb)

# Sparsify
sp_cb = SparsifyCallback(sparsity=50, granularity='filter',
                         context='global', criteria=large_final,
                         schedule=cos)
student.fit(5, 1e-5, cbs=sp_cb)

# Prune
pruner = Pruner()
pruned_model = pruner.prune_model(student.model)

I'm encountering the following error.

 File "/home/deeplearning/workspace/refactor/src/pipeline/training/training_classification.py", line 66, in train
    pruned_model = pruner.prune_model(student.model)
  File "/home/deeplearning/workspace/refactor/.venv/lib/python3.9/site-packages/fasterai/sparse/pruner.py", line 135, in prune_model
    new_m, new_next_m = self.prune_conv(m, layers[layer_names[next_conv_ix]]) # Prune the current conv layer
  File "/home/deeplearning/workspace/refactor/.venv/lib/python3.9/site-packages/fasterai/sparse/pruner.py", line 32, in prune_conv
    new_weights, new_biases, new_next_weights = self.filters_to_keep(layer, nxt_layer)
  File "/home/deeplearning/workspace/refactor/.venv/lib/python3.9/site-packages/fasterai/sparse/pruner.py", line 23, in filters_to_keep
    biases_keep = layer.bias.index_select(0, ixs[0]).data
AttributeError: 'NoneType' object has no attribute 'index_select'

Could you please give me a hand?

[QUESTION] Apply tutorial to fine_tune output

Hi,
I'm pretty new to FastAI and just got to know FasterAI, I was trying to apply the concepts from the Get Started tutorial to my own code.
Currently I'm doing something like the following:

from fastai.vision import all as fst
from fastai.learner import Learner
from fastai.vision.learner import vision_learner
from fastai.tabular.core import df_shrink
# Code to get the datasets...

# Create dataloaders
data_loaders = data_block.dataloaders(tmp_dir, bs=config["batch_size"])  # Config is a dictionay containing useful info
# Create model
base_model = getattr(fst, config["model"])
model = vision_learner(data_loaders, base_model, pretrained=True, lr=0.001,
                       metrics=fst.error_rate)

# Launch training
model.fine_tune(epochs)

And this works fine, I'm able to save and use the model with no issues. But then when I try to do Knowledge Distillation:

from fasterai.distill.all import *
from fastai.vision.all import *
# FasterAI tutorial replica
student = Learner(data_loaders, getattr(fst, config["model"]),
                  metrics=[accuracy])
kd_cb = KnowledgeDistillationCallback(model, SoftTarget)
student.fit_one_cycle(10, 1e-4, cbs=kd_cb)

I'm getting the following error:

File "/home/deeplearning/workspace/refactor/.venv/lib/python3.9/site-packages/fastai/torch_core.py", line 649, in trainable_params
    return [p for p in m.parameters() if p.requires_grad]
AttributeError: 'function' object has no attribute 'parameters'

Other important stuff:

  • Python version: 3.9
  • FastAI version: 2.7.11
  • FasterAI version: 0.1.13

Can you please help me?

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.