FluxML / FastAI.jl

Repository of best practices for deep learning in Julia, inspired by fastai
https://fluxml.ai/FastAI.jl
MIT License
585 stars 51 forks source link

`Quickstart` tutorial no longer works (`loaddataset` doesn't exist) #254

Closed claforte closed 1 year ago

claforte commented 2 years ago

Hi, this code from https://fluxml.ai/FastAI.jl/dev/documents/notebooks/quickstart.ipynb fails with the latest FastAI.jl release:

using FastAI
data, blocks = loaddataset("imagenette2-320", (Image, Label))
task = ImageClassificationSingle(blocks, size=(256, 256))
learner = tasklearner(task, data, callbacks=[ToGPU(), Metrics(accuracy)])
fitonecycle!(learner, 5, 0.033)

with UndefVarError: loadddataset not defined. If I replace the 2nd line with data, blocks = load(datarecipes()["imagenette2-320"]) (from an earlier page in the docs), it works.

lorenzoh commented 2 years ago

Hi Christian, thanks for reporting this!

I think there’s been an issue with the documentation build, as this should be fixed in the docs source on master (see https://github.com/FluxML/FastAI.jl/blob/master/docs/notebooks/quickstart.ipynb).

I’ll leave this open until I get around to releasing 0.5 and subpackages which will be breaking (#240).

claforte commented 2 years ago

Ok, in the meantime I tried to ] dev FastAI with the latest Master branch, but I can't even get using FastVision to work... i.e. the notebook you linked to doesn't work for me. I'm not familiar with subpackages... is there something special I need to do, to add FastVision and other subpackages, before you officially register them?

claforte commented 2 years ago

BTW it would be great if there was an easy way to read the previous FastAI.jl documentation... right now it only points to the dev version, instead of the latest version that you registered... (... that presumably is more tested/stable?)

Sorry to bother you during your vacations, I'm just a bit disappointed I'll have to revert to just using Lux or Flux without your neat high-level libraries. ;-)

claforte commented 2 years ago

Nevermind! This older code works with FastAI.jl v0.4.3:

# Adapted from https://fluxml.ai/FastAI.jl/dev/documents%2Fnotebooks%2Fquickstart.ipynb
using FastAI
using Metalhead

import CairoMakie
CairoMakie.activate!(type="png")

data, blocks = loaddataset("imagenette2-320", (Image, Label))

image,class = sample = getobs(data, 1000)
@show class
image

task = ImageClassificationSingle(blocks, size=(256,256)) # task = ImageClassificationSingle(blocks, size=(256, 256))
learner = tasklearner(task, data, callbacks=[ToGPU(), Metrics(accuracy)], backbone=ResNet(34).layers[1:end-1])
fitonecycle!(learner, 10)
showoutputs(task, learner)

image

Thanks!

lorenzoh commented 1 year ago

Sorry about this! I didn't want to make a big release right before my absence and me adding versioning support to Pollen.jl is still WIP which created this confusing situation where only the dev docs are shown. I'll leave this open until proper versioning of the documentation is added. Thanks for bearing with that!

lorenzoh commented 1 year ago

FastAI.jl 0.5 and the subpackages have been released now, along with up-to-date documentation, so I am closing this. Let me know if something is still not working!