Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: "cut" parameter not passed to vision_learner #4028

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

adamamer20
Copy link

@adamamer20 adamamer20 commented Apr 25, 2024

Fix #4027

@adamamer20 adamamer20 requested a review from jph00 as a code owner April 25, 2024 06:51
@jph00
Copy link
Member

jph00 commented Apr 25, 2024

Thanks! Note that this is an nbdev project so the source notebook needs to be edited -- that's the actual "source code" of the project.

@adamamer20
Copy link
Author

Very interesting concept! I tried updating the notebook and exporting but i'm getting the same issue as fastai/nbdev#1056

<unknown>:7: SyntaxWarning: invalid escape sequence '\R'
<unknown>:7: SyntaxWarning: invalid escape sequence '\R'
<unknown>:7: SyntaxWarning: invalid escape sequence '\R'
<unknown>:7: SyntaxWarning: invalid escape sequence '\R'
<unknown>:7: SyntaxWarning: invalid escape sequence '\R'
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[45], [line 3](vscode-notebook-cell:?execution_count=45&line=3)
      [1](vscode-notebook-cell:?execution_count=45&line=1) #|hide
      [2](vscode-notebook-cell:?execution_count=45&line=2) from nbdev import nbdev_export
----> [3](vscode-notebook-cell:?execution_count=45&line=3) nbdev_export()

File [c:\ProgramData\miniforge3\envs\fastai\Lib\site-packages\fastcore\script.py:110](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/fastcore/script.py:110), in call_parse.<locals>._f(*args, **kwargs)
    [107](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/fastcore/script.py:107) @wraps(func)
    [108](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/fastcore/script.py:108) def _f(*args, **kwargs):
    [109](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/fastcore/script.py:109)     mod = inspect.getmodule(inspect.currentframe().f_back)
--> [110](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/fastcore/script.py:110)     if not mod: return func(*args, **kwargs)
    [111](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/fastcore/script.py:111)     if not SCRIPT_INFO.func and mod.__name__=="__main__": SCRIPT_INFO.func = func.__name__
    [112](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/fastcore/script.py:112)     if len(sys.argv)>1 and sys.argv[1]=='': sys.argv.pop(1)

File [c:\ProgramData\miniforge3\envs\fastai\Lib\site-packages\nbdev\doclinks.py:124](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:124), in nbdev_export(path, **kwargs)
    [122](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:122) for f in files: nb_export(f)
    [123](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:123) add_init(get_config().lib_path)
--> [124](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:124) _build_modidx()

File [c:\ProgramData\miniforge3\envs\fastai\Lib\site-packages\nbdev\doclinks.py:86](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:86), in _build_modidx(dest, nbs_path, skip_exists)
     [84](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:84) code_root = dest.parent.resolve()
     [85](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:85) for file in globtastic(dest, file_glob="*.py", skip_file_re='^_', skip_folder_re="\.ipynb_checkpoints"):
---> [86](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:86)     res['syms'].update(_get_modidx((dest.parent/file).resolve(), code_root, nbs_path=nbs_path))
     [87](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:87) idxfile.write_text("# Autogenerated by nbdev\n\nd = "+pformat(res, width=140, indent=2, compact=True))

File [c:\ProgramData\miniforge3\envs\fastai\Lib\site-packages\nbdev\doclinks.py:65](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:65), in _get_modidx(pyfile, code_root, nbs_path)
     [63](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:63) def _stor(nm, tree, pre=''): d[f'{mod_name}{pre}.{nm}'] = f'{loc}#{nm.lower()}',rel_name
     [64](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:64) for tree in ast.parse('\n'.join(rest)).body:
---> [65](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:65)     if isinstance(tree, _def_types): _stor(patch_name(tree), tree)
     [66](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:66)     if isinstance(tree, ast.ClassDef):
     [67](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:67)         for t2 in tree.body:

File [c:\ProgramData\miniforge3\envs\fastai\Lib\site-packages\nbdev\doclinks.py:63](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:63), in _get_modidx.<locals>._stor(nm, tree, pre)
---> [63](file:///C:/ProgramData/miniforge3/envs/fastai/Lib/site-packages/nbdev/doclinks.py:63) def _stor(nm, tree, pre=''): d[f'{mod_name}{pre}.{nm}'] = f'{loc}#{nm.lower()}',rel_name

AttributeError: 'list' object has no attribute 'lower'

Apparently this is given by nm=['Tensor.save_jpg', 'DcmDataset.save_jpg']. Happens both when executing the export inside the notebook and from the commandline. Hooks are installed and I made no other changes to the library. nbdev is 2.2.10 from conda-forge. Should i open an issue on nbdev?

@jph00
Copy link
Member

jph00 commented Apr 26, 2024

You'll need to use WSL, not native Windows.

@adamamer20
Copy link
Author

Thank you for the input. I tried on WSL and still having the same error.

(fastai) amer@dell-adam:~/fastai$ nbdev_export --path nbs/21_vision.learner.ipynb
<unknown>:7: SyntaxWarning: invalid escape sequence '\R'
Traceback (most recent call last):
  File "/home/amer/miniforge3/envs/fastai/bin/nbdev_export", line 10, in <module>
    sys.exit(nbdev_export())
             ^^^^^^^^^^^^^^
  File "/home/amer/miniforge3/envs/fastai/lib/python3.12/site-packages/fastcore/script.py", line 119, in _f
    return tfunc(**merge(args, args_from_prog(func, xtra)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/amer/miniforge3/envs/fastai/lib/python3.12/site-packages/nbdev/doclinks.py", line 124, in nbdev_export
    _build_modidx()
  File "/home/amer/miniforge3/envs/fastai/lib/python3.12/site-packages/nbdev/doclinks.py", line 86, in _build_modidx
    res['syms'].update(_get_modidx((dest.parent/file).resolve(), code_root, nbs_path=nbs_path))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/amer/miniforge3/envs/fastai/lib/python3.12/site-packages/nbdev/doclinks.py", line 65, in _get_modidx
    if isinstance(tree, _def_types): _stor(patch_name(tree), tree)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/amer/miniforge3/envs/fastai/lib/python3.12/site-packages/nbdev/doclinks.py", line 63, in _stor
    def _stor(nm, tree, pre=''): d[f'{mod_name}{pre}.{nm}'] = f'{loc}#{nm.lower()}',rel_name
                                                                       ^^^^^^^^
AttributeError: 'list' object has no attribute 'lower'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

"cut" parameter not passed to vision_learner
2 participants