Comments (5)
Hi @wendtalexander!
Sorry you're running into this error, and thank you for raising a detailed bug report.
I'm not quite clear on what's causing it, though.
You suggest to replicate the bug by running
Prediction without omitting transform_kwargs in the toml file.
but when I run in a development environment using a test config that includes [PREDICT.transform_params]
, I do not get a bug.
The transform_params
table in that config looks like this:
[PREDICT.transform_params]
window_size = 176
Can you please
- reply to this with the toml config file you're using? You'll have to attach as a zip
- test that you're able to replicate the bug using the config provided for the tutorial, using the tutorial dataset? (This tutorial, I mean)
- Or alternatively you could try to reproduce by setting up a dev environment as described here and then run the following in the root of the project, with the dev environment activated
vak predict tests/data_for_tests/generated/configs/TweetyNet_predict_audio_cbin_annot_notmat.toml
(That last one is what I'm doing to test whether I get the same bug.)
I have a feeling the issue here is that there's something we haven't made clear in the docs, and/or we need to raise a clearer error message
from vak.
Sorry that I cant test this properly myself, I am kinda new checking large Projects.
Can you @NickleDave do me a favor and check if the prediction runs without errors, if you would delete the PREDICT.transform_params? Or are they mandatory in the new Version of vak?
In the code these transform_params are always optional (as far as I can follow), and getting calculated / assigned in this file /vak/predict/frame_classification.py
In my toml file i did not write any [PREDICT.transform_params].
from vak.
Sorry that I cant test this properly myself, I am kinda new checking large Projects.
No worries, I didn't mean to overwhelm you. Maybe we can help you learn how later 😄
Can you do me a favor and check if the prediction runs without errors, if you would delete the PREDICT.transform_params?Or are they mandatory in the new Version of vak?
Ah ok I think I understand what's going on.
Yes, it is mandatory to include [PREDICT.transform_params]
with a window_size
option for TweetyNet, and any other frame classification model. You will want to use the same window size you used during training. This replaces the window_size
option that uses to live in the [DATALOADER]
table.
When you generate predictions for new data from a frame classification model, vak turns that data into batches of consecutive, non-overlapping windows. So you need to tell it what window size to use.
I'm sorry, I know the changes in config file format are a bit confusing. We will end up rewriting the config file format as we move towards a final release of 1.0 (as discussed in #345). The goal is to make it possible to specify different options for different model families. But for right now the config file format will be in flux with the alpha version. Apologies for the bumpy ride!
We did add an example config file to the docs that shows this table (although I just realized the link to it in the tutorial is broken 🤦 )
https://github.com/vocalpy/vak/blob/main/doc/toml/gy6or6_predict.toml
Please let me know if adding that required transform_params
lets you run predict as expected.
from vak.
Yes, it is mandatory to include [PREDICT.transform_params] with a window_size option for TweetyNet
Thats what is whats missing in my toml file.
The goal is to make it possible to specify different options for different model families. But for right now the config file format will be in flux with the alpha version. Apologies for the bumpy ride!
all good! Thank you for the fast and helpful responses!
from vak.
Sure thing, thanks @wendtalexander -- sorry again about the confusion. It is helpful to know what is and isn't clear to people that haven't been starting at the code for 😭 years 😼
I'll go ahead and close this but please do feel free to raise issues if you think you run into more bugs. You could also ask questions in our forum here: https://forum.vocalpy.org/
from vak.
Related Issues (20)
- BUG/DOC: Tutorial eval and predict configs missing sections with model names HOT 8
- BUG/CLN: Refactor model abstraction so we don't subclass LightningModel, to fix loss logging HOT 2
- BUG: 1. Run the command vak prep gy6or6_train.toml in the terminal HOT 5
- Error when running vak prep train.toml HOT 6
- Error running vak prep HOT 3
- Out of memory error HOT 2
- BUG: Running lightning with default strategy 'DDP' breaks learncurve function HOT 2
- TST/CLN: Add tests for transforms sub-package
- ENH: Add segmentation metrics
- BUG: Predict throws `KeyError` HOT 2
- ENH: Add `dataset` sub-table to config file, remove other dataset/transform param keys HOT 1
- ENH: Make it possible to specify different splits for datasets
- Consider switching to keras as engine
- ENH: Add datasets module with BioSoundSegBench HOT 1
- ENH: Add pre-trained model checkpoints
- MODEL: Add voxaboxen
- MODEL: Add SqueakOut
- MODEL: Add Repertoire Embedder
- MODEL: Add AVN Similarity
- MODEL: canary-song-decoder
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vak.