After reading the answers to this question I'm still a bit confused about the whole PackedSequence object thing. As I understand it, this is an object optimized for parallel processing of variable sized sequences in recurrent models, a problem to which zero padding is one [imperfect] solution. It seems that given a PackedSequence object, a Pytorch RNN will process each sequence in the batch to its end, and not continue to process the padding. So why is padding needed here? Why are there both a pack_padded_sequence() and pack_sequence() methods?
Why do we need pack_padded_sequence() when we have pack_sequence()?
3.1k views Asked by H.Rappeport At
1
There are 1 answers
Related Questions in PYTORCH
- Influence of Unused FFN on Model Accuracy in PyTorch
- Conda CMAKE CXX Compiler error while compiling Pytorch
- Which library can replace causal_conv1d in machine learning programming?
- yolo v5 export to torchscript: how to generate constants.pkl
- Pytorch distribute process across nodes and gpu
- My ICNN doesn't seem to work for any n_hidden
- a problem for save and load a pytorch model
- The meaning of an out_channel in nn.Conv2d pytorch
- config QConfig in pytorch QAT
- Can't load the saved model in PyTorch
- How can I convert a flax.linen.Module to a torch.nn.Module?
- Snuffle in PyTorch Dataloader
- Cuda out of Memory but I have no free space
- Can not load scripted model using torch::jit::load
- Should I train my model with a set of pictures as one input data or I need to crop to small one using Pytorch
Related Questions in RECURRENT-NEURAL-NETWORK
- How to train a model with CSV files of multiple patients?
- Matrix multiplication issue in a Bidirectional LSTM Model
- How can i edit the "wake-word-detection notebook" on coursera so it fit my own word?
- Ask nn.MSELoss() calculation mechnism in pytorch framework
- Low Precision and Recall in LSTM Anomaly Detection Model
- Unable to store predictions of a LSTM network back in my original dataframe
- why different masking value impact the val_loss in LSTM?
- Pytorch LSTM - initializing hidden states during training
- How to feed or mask missing data to RNN, LSTM, and GRU with pytorch?
- RNN training metrics in python darts
- Getting error in Simple RNN model architecture while using Embedding layer
- How do I load (or reshape) my data to input into an LSTM?
- Creating a Pronounciation Checker for specific words using CNN-RNN machine learning in flask
- Initializing Hidden State for GRU RNN using feed forward neural network
- Trying to understand PyTorch RuntimeError: Trying to backward through the graph a second time
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Mostly for historical reasons;
torch.nn.pack_padded_sequence()was created beforetorch.nn.pack_sequence()(the later appeared in0.4.0for the first time if I see correctly) and I suppose there was no reason to remove this functionality and break backward compatibility.Furthermore, it's not always clear what's the best/fastest way to
padyour input and it highly varies on data you are using. When data was somehow padded beforehand (e.g. your data was pre-padded and provided to you like that) it is faster to usepack_padded_sequence()(see source code ofpack_sequence, it's calculatinglengthof each data point for you and callspad_sequencefollowed bypack_padded_sequenceinternally). Arguablypad_packed_sequenceis rarely of use right now though.Lastly, please notice
enforce_sortedargument provided since1.2.0version for both of those functions. Not so long ago users had to sort their data (or batch) with the longest sequence first and shortest last, now it can be done internally when this parameter is set toFalse.