Lesson 1 In-Class Discussion ✅

Hokie, I think crestle.ai team might be able to answer your questions re: the visibility of your notebooks to others. I presume you are trying to share your progress with someone by sharing a link to it?

AFAICT, since you have to log in to your account in Crestle, you’d be the only one who has direct access to your jupyter notebook.

Also, Jupyter automatically saves your work, at least on my local machine it does. I’m not sure what the behavior is for the hosted jupyter notebooks at crestle, I would assume that they also do this.

I would suggest you put these questions to Crestle support to get definitive answers.

One thing that Jeremy recommends in his first lecture is to make a copy of the notebook and make changes in that notebook (because jupyter saves your changes every few seconds/minutes)

I haven’t played with the new crestle.ai notebooks so I’m not sure how they behave. I’m assuming they behave like regular jupyter notebooks, except that they are hosted for you on a machine in the cloud and you can login to your area on their servers and run the notebook on their servers.

1 Like

Is Jeremy’s guide to creating our own dataset up-to-date? I read through it and saw a lot of error/warning messages underneath the code chunks. Is that a problem? I don’t know whether to ignore that.

edit for example:

Error https://npn-ndfapda.netdna-ssl.com/original/2X/9/973877494e28bd274c535610ffa8e262f7dcd0f2.jpeg HTTPSConnectionPool(host=‘npn-ndfapda.netdna-ssl.com’, port=443): Max retries exceeded with url: /original/2X/9/973877494e28bd274c535610ffa8e262f7dcd0f2.jpeg (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x7f2f7c168f60>: Failed to establish a new connection: [Errno -2] Name or service not known’))

1 Like

Hey, I’ve been trying to import a kaggle dataset onto the kaggle kernel.
The folder set up is as follow:
/input
/train_images
/train.csv

the images are in folder train_images and labels are present in train.csv.

i tried to use ImageList.from_csv(path, ‘train.csv’, cols =2) but it looks for the label filename in input folder and not in train_images folder. However if i try to use ImageDataBunch.from_csv(path,ds_tfms=tfms, size=28) then the function looks for only ‘labels.csv’ specifically and returns an error saying no folder called ‘…/input/labels.csv’ because the file is called ‘train.csv’.
And i cannot rename the file either cause kaggle doesn’t allow writes onto data and hence I’m unable to rename.

error with line 17

doc(interp.plot_top_losses)

gives

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-17-a7fe6964f6f7> in <module>
----> 1 doc(interp.plot_top_losses)

~/miniconda3/envs/p37cu10FastAI/lib/python3.7/site-packages/fastai/gen_doc/nbdoc.py in doc(elt)
    129     use_relative_links = False
    130     elt = getattr(elt, '__func__', elt)
--> 131     md = show_doc(elt, markdown=False)
    132     if is_fastai_class(elt):
    133         md += f'\n\n<a href="{get_fn_link(elt)}" target="_blank" rel="noreferrer noopener">Show in docs</a>'

~/miniconda3/envs/p37cu10FastAI/lib/python3.7/site-packages/fastai/gen_doc/nbdoc.py in show_doc(elt, doc_string, full_name, arg_comments, title_level, alt_doc_string, ignore_warn, markdown, show_tests)
    114     else: raise Exception(f'doc definition not supported for {full_name}')
    115     source_link = get_function_source(elt) if is_fastai_class(elt) else ""
--> 116     test_link, test_modal = get_pytest_html(elt, anchor_id=anchor_id) if show_tests else ('', '')
    117     title_level = ifnone(title_level, 2 if inspect.isclass(elt) else 4)
    118     doc =  f'<h{title_level} id="{anchor_id}" class="doc_header">{name}{source_link}{test_link}</h{title_level}>'

~/miniconda3/envs/p37cu10FastAI/lib/python3.7/site-packages/fastai/gen_doc/nbtest.py in get_pytest_html(elt, anchor_id)
     55 def get_pytest_html(elt, anchor_id:str)->Tuple[str,str]:
     56     md = build_tests_markdown(elt)
---> 57     html = HTMLExporter().markdown2html(md).replace('\n','') # nbconverter fails to parse markdown if it has both html and '\n'
     58     anchor_id = anchor_id.replace('.', '-') + '-pytest'
     59     link, body = get_pytest_card(html, anchor_id)

TypeError: markdown2html() missing 1 required positional argument: 'source'

running most recent fastAI installed into a python 3.7.3 conda environment and with jupyter notebook.
However the next cell displays the confusion matrix ok.
suggestion for resolution?

Can someone help me with understanding how to choose the value from LR Finder. From what I understood, select the max learning rate as the LR right before the reporter plot starts showing gain in loss as we keep on increasing the LR. The minimum can then be chosen as 10x or 100x smaller than max.

I understand the LR slice we chose for resnet 34 but I don’t get the slice we chose for resnet 50. Since the LR decreases until after 1e-2, shouldn’t the slice be 1e-2 to 1e-4? We have however chosen 1e-6 to 1e-4.

Fitting on the latter slice gives better results

Refer the below thread, it might help. Although it’s specific to colab, you might find workarounds for your environment -

1 Like

Somebody suggest me a way to practise.

thank you. I applied the changes listed here:

now I get this

doc(interp.plot_top_losses)

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-19-a7fe6964f6f7> in <module>
----> 1 doc(interp.plot_top_losses)

NameError: name 'doc' is not defined

I have a problem, the link from 21:52 minute of video: https://s3.amazonaws.com/fast-ai-imageclas/oxford-iiit-pet
Doesn’t seem to work. I receive an error and when i paste it to the browser I get error: NoSuchKey and they key is oxford-iiit-pet

show_batch for me takes a long time to run as well, i am using google colab. are you using google colab and did you ever figure out how to speed it up?

I’m looking at the source code for show_batch https://github.com/fastai/fastai/blob/master/fastai/basic_data.py#L183 and don’t see where it takes figsize as an input param. can someone explain?

Need help here for getting predictions. I join a kaggle competition on image analysis and went through all the steps from lesson 1. Now I have a problem of getting predictions of the test set and exporting into a csv file to submit to kaggle,

My ImageDataBunch current has 3 datasets. A training dataset, a validation set (20% of training), and a test set provided by kaggle.

Please advice. thanks

As I understand from the lecture - it is a matter of experimentation. You are correct that the possible rule is

select the max learning rate as the LR right before the reporter plot starts showing gain in loss as we keep on increasing the LR. The minimum can then be chosen as 10x or 100x smaller than max.

But you also should try different slices near that one and check whether they lead to a better result.

1 Like

It’s in the 'magic **kwargs** argument, that is then being passed as another **kwargs to show_xys, which accepts the figsize. The fastai library uses these **kwargs quite a lot. Here’s more info:
http://book.pythontips.com/en/latest/args_and_kwargs.html

1 Like

you can either continue on the course, where we deal with predictions, or you can check inside kaggle competition current kernels that were submitted. search ones with fast keyword and you will have dozen submitted with fast.ai library. Fork the notebooks and learn from them.

How to use the model built, to predict the test dataset?

I responded here with a reasonable way to do it. If you already have a test set within your data bunch skip the steps that add a test set to it and run the predictions. You will have to take an argmax from the logits.

Hi everyone, im new here. i have some background on on DL but all on tf, keras i see the first lesson and im really interesting on complete all the course. wich material u recommend to read to be up to date with fastai lib and Pytorch? only docs will be ok?

In another hand, any chance to be online assistant of part 2 of the course?

Kindle regards,

Manuel

thank you.

Hi,
I am reading train and test imagelists from pandas.dataframe and loading it into a databunch.
But, I want to get the dataset object for train and test sets. How can I do that?

code :

test_imagelist=ImageList.from_df(test,path=path,folder='test_images',cols='id',suffix='.jpg')
train_imagelist=ImageList.from_df(train,path=path,folder='train_images',cols='id',suffix='.jpg')
src=(train_imagelist.split_by_rand_pct(valid_pct=0.2,seed=42)
      .label_from_df('category_id')
      .add_test(test_imagelist))

data=(src.transform(get_transforms(),size=224)
      .databunch()
      .normalize(imagenet_stats))

I tried calling src.datasets() at every step but always getting errors.
What am I doing wrong?