Changelogs » Allennlp



ff0d44a5 (origin/master, origin/HEAD) reversing NER for interpet UI (3283)
3b220112 Composed Sequence to Sequence Abstraction (2913)
b85f29c6 Fix F1Measure returning true positives, false positives, et al. only for the first class (3279)
64143c41 upgrade to latest pylint (3266)
d09042e4 Fix crash when hotflip gets OOV input (3277)
2a950223 Revert batching for input reduction (3276)
052e8d32 Reduce number of samples in smoothgrad (3273)
76d248f8 Reduce hotflip vocab size, batch input reduction beam search (3270)
9a67546e fix empty sequence bug (3271)
87fb294e Update (3267)
daed8359 Fix wrong partition to types in DROP evaluation (3263)
41a47767 Unidirectional LM doesn't return backward loss. (3256)
3e0bad4a Minor fixes for interpret code (3260)
05be16a8 allow implicit package imports (3253)
48de8667 Assorted fixes for (3248)
c732cbf1 Add additive attention & unittest (3238)
07364c67 Make Instance in charge of when to re-index (3239)
7b50b69f Replace staticmethods with classmethods (3229)
7cfaab47 Add ERROR callback event (2983)
ce504073 Revert "Use an NVIDIA base image. (3177)" (3222)
b1caa9e5 Use an NVIDIA base image. (3177)
4625a9d2 Improve CI script (3141)
5e2206df Add a reference to Joe Barrow's blog
27ebcf6b added infer_type_and_cast flags (3209)
bbaf1fc0 Benchmark iterator, avoid redundant queue, remove managers. (3119)
78ee3d85 Targeted hotflip attacks and beam search for input reduction (3206)
f2824fdc Predictors for demo LMs, update for coref predictor (3202)
d78ac70a Language model classes for making predictions (both masked LM and next token LM) (3201)
8c06c4b2 Adding a LanguageModelHead abstraction (3200)
370d5126 Dataset readers for masked language modeling and next-token-language-modeling (3147)
1eaa1ff9 Link to Discourse in README
030e28c9 Revert "Revert "Merge branch 'matt-gardner-transformer-embedder'""
6e1e3713 Revert "Merge branch 'matt-gardner-transformer-embedder'"
4c7fa737 Merge branch 'matt-gardner-transformer-embedder'
07bdc4ae Merge branch 'transformer-embedder' of into matt-gardner-transformer-embedder
993034f0 Minor fixes so PretrainedTransformerIndexer works with roberta (3203)
70e92e85 doc
ed93e523 pylint
195bf0c3 override method
6ec74aaf Added a TokenEmbedder for use with pytorch-transformers
fb9a9718 code for mixed bert embedding layers (3199)
0e872a0d Clarify that scalar_mix_parameters takes unnormalized weights (3198)
23efadd9 upgrade to pytorch 1.2 (3182)
155a94e5 Add DropEmAndF1 metric to (3191)
7738cb58 Add exist_ok parameter to registrable.register decorator. (3190)
ce6dc726 Add example of initializing weights from pretrained model to doc (3188)
817814bf Update documentation for (3181)
112d8d0b Bump version numbers to v0.9.0-unreleased


9d8d36af quoref metric and evaluator (3153)
7bacfad5 Set pytorch-transformer to 1.1.0 (3171)
18daa298 Fix pearson (3101)
e641543e Add a test for the subcommands docstring help outputs (3172)
b6af6ebf bug fix for default tokenization of knowledge graph entities (3170)
0f6b3b89 Make SrlBert model use SrlEvalMetric (3168)
adad1bc3 Switch SemanticRoleLabeler metric to SrlEvalScorer. (3164)
8fffd831 Add missing train command cache options (3160)
770791a2 switch for DataIterators whether smaller batches should be skipped (3140)
111db19d Create method to save instances to cache file. (3131)
dac486ef Fixing NaN warning with single element tensors (3158)
6bbf82ef Move matplotlib import into function (3157)
3ef43c96 Upgrade minimum spacy to 2.1.0 (3152)
1d6e1667 Fixing Conda download and install link on Readme (3151)
f111d8a7 Pretrained transformer indexer (3146)
fa1ff674 Add support for running preemptible workloads on beaker (3143)
0bd33194 Add regularization parameter to Models (3120)
bf968c69 add keep_as_dict option to Params.pop, use in Vocab and automat… (3075)
217022f4 Adding a PretrainedTransformerTokenizer (3145)
f9e2029f Update HTTP links to HTTPS where possible (3142)
9093f475 Add dropout option for BERT Pooler (3109)
23a089c8 pin pytorch away from 1.2 until we fix the tests (3128)
0be4b488 fix UpdateMovingAverage.from_params (3126)
9db00422 Upgrade conllu from 0.11 to 1.3.1 (3115)
6746d12c pass cache_directory and cache_prefix to non-default trainers (3077)
031bbf95 allenNLP broken link (3086)
0caf3640 Adding cached_path to input file of the predictor (3098)
417a7572 Adding ability to choose validation DatasetReader with "predict" (3033)
30c4271f Close tensorboard's event files properly at the end of the training (3085)
428c1511 fix MetadataField.batch_tensors (3084)
88a61e13 [Embedding] Forward given padding_index param to embedding() (2504)
9ed9e2c8 remove executable permission for submods (3080)
a1476c04 add equality check for index field; allennlp interpret (3073)
5014d022 remove deprecated function call in hotflip (3074)
014fe318 Improve dict missing key code (3071)
9166c184 AllenNLP Interpret Basic Version (3032)
7728b12f Minor WTQ ERM model and  dataset reader fixes for demo (3068)
ec30c902 remove dropout from test fixtures (2889)
1cd21937 Revert "Lr scheduler bug" (3065)
083f3430 Lr scheduler bug (2905)
5c64f9d0 warn about truncation only once (3052)
ebe91139 Add options for focal loss (3036)
c22ed57a Spacy token indexer (3040)
a33436db Multilabel bug (3021)
dd3476f1 simplify callback trainer (3029)
0663e0bb Fixes to ERM decoding script (3041)
64d16acf fix shape comments (3025)
354a19b4 Update documents to (3023)
427996d4 Fix forward in EndpointSpanExtractor (3042)
38a10735 Update
715422c7 Fix error in BooleanAccuracy when total count is 0 (2991)
9e52e0f6 Remove separate start type prediction in state machines (3030)
c2c4b64d Remove awscli from dependencies (3024)
ae72049f Make per-batch logging quieter. (3020)
57870f5a removing unnecessary data iteration (3027)
e71618de Allow option to only reset some states in _EncoderBase (2967)
15a9cbe5 PassThroughIterator (3015)
70fa4aac Typo in (3016)
c85dcfcf fix behavior when num_serialized_models_to_keep is 0 (2880)
2cce412e fix type in vocab config (2977)
7943b2fb Expose the spacy language model for the word splitter in the se… (3008)
9b929b28 Fixes inconsistent resetting of metrics with Validate and TrackMetrics callbacks  (issue 3001) (3002)
0a267397 Modified ActionSpaceWalker to use DomainLanguage (3006)
9a13ab57 (vikigenius/master) do not evaluate after training if non-default trainer (2997)
30ffaa54 Removed target_token_indexers documentation (2990)
7b465c69 Clarify docs for CosineWithRestarts (2953)
fb878721 Add never_split signature (2463)
b6a2abbf correct the wrong parameter note(target_namespace) (2987)
cf247c6a Add model parameters / modules inspection helper. (2466)
0fbd1ca8 WTQ dataset reader and models moved from iterative-search-semparse (2764)
7e08298e Fix wordpiece indexer truncation (2931)
03aa838e fix incorrect logging in viterbi decode (2982)
51b74b1a use starting offsets in the srl model so output is wellformed (2972)
bcd10700 Add cuda_device to Predictor.from_path (2974)
459633c9 rename callbacks (2966)
0f1bc3b9 DeprecationWarning removed for op-level token_embedders (2955)
a655ad52 experimental: add backoff (2968)
2a59be3a (epwalsh/master) Change registered names of scheduler callbacks (2964)
2a884501 update sphinx version (2959)
165b282b Bert srl model (2961)
3dc99a77 Add missing param in CallbackTrainer.__init__ docstring (2960)
9e6e0af6 callback based trainer (2817)
1b656dd7 Allowing for bulk adding of tokens to vocab (2948)
c9eb2d0e Replace current default stopword list with spaCy's. (2940)
6a3d3a8d ensure regularizers are only computed for parameters requiring gradients (2887)
acfbb8c0 Replace s3 path style to virtual host style (2873)
ac72c888 Fix Model.load fail if model_params is str (2805)
e7b00130 Linear assignment depricated fix (2950)
01602c86 Link to Wikitables and ATIS data. (2947)
eaebe02f Update issue templates to request full stacktrace (2876)
da16ad13 Multilingual parser and Cross-lingual ELMo (2628)
92ee4215 Fix for cyclic import problems (issue 2935) (2938)
5e3c4cdd token_type_ids fix for window reshaping (2942)
44ba4900 Use unsigned s3 requests when missing credentials (2939)
c0f44f74 Fixed minor error while calculating span accuracy (2923)
8e180cb9 Pad coreference model input to 5 (2933)
9a0e01fa fix trainable and requires_grad kwargs (2932)
5f377834 Bert srl (2854)
5b2066bd Fix Invalid Index Reference for labels in Vocabulary (2926)
c629093b CopyNet: replace in-place tensor operation with out-of-place equivalent (2925)
89700de2 Change image to docker_image (2918)
53938826 Change blueprint to image in run_with_beaker (2903)
6afba9a2 Fix TextField padding when there are no tokens (2843)
954a02f9 (vikigenius/release-v0.8.4, upstream/release-v0.8.4) Bump version numbers to v0.8.5-unreleased


fbc28cef Fix typo in Model.extend_embedder_vocab docstring (2806)
26ac3499 fix dependency conflicts (by removing moto + disabled tests that use it) (2902)
69c1c9fc Shift extra_weight for embedding extension to right device (2896)
d6bb6c87 Make DROP EM and F1 calculation length aware (2866)
d800e823 truncate type ids (2875)
c2609453 updated links for pretrained NER models (2872)
20844259 Add ability to generate BERT embeddings using a sliding window (2493) (2537)
093847a7 updated fine-grained-ner-model-elmo URL (2868)
93e86a96 Add output path to drop eval (2860)
b6693107 Log random seeds to disk. (2859)
b20c12ba Use optimal matching for the drop eval and add appropriate tests. (2853)
c59a3a8b Update (2775)
7bdd575c Remove multiple GPU warning (2837)
8e0953ab Fix typo in tagger README file (2836)
e3febb99 Fix test evaluation after training in the general case (2835)
aa1524ee Fix typo in a comment (2826)
7c4311b1 Unwrap masks to tensors as well in AUC metric (2813)
2452492f fix batched_index_select (2765)
425f2af3 add `token_min_padding_length` to `TokenIndexer` (2615)
e70eb7bb Link pretrained model in tutorial. (2814)
48f46ea9 Number predictions. (2709)
aeafe1c5 Bert for classification (2787)
63be47a2 Improve handling of empty ListFields. (2697)
30460e61 Use a hash function that is constant across program invocations. (2802)
16c40ec5 Delete .DS_Store (2803)
24f90a82 Adding NamedTuple case for Tensors to be moved to GPU. (2799)
a701a0ae Fix out-of-bound checking in BidirectionalEndpointSpanExtractor for empty sequences. (2763)
9fc6f9eb Add SrlEvalMetric (2743)
42ada05d fixing regression in drop script and adding a test case for the same (2796)
d9baa6f7 Changing model name in config file to match registered name (2794)
6acfc6ca Repro for 2776 and backwards compatible fix. (2784)
648a36f7 Increase max_runs for NumericallyAugmentedQaNetTest. (2778)
3170f6f3 Make FBetaMeasure work with batch size of 1. (2777)
b97bca02 Make _replace_none properly handle "None" in parameter lists (2774)
7c0d5d53 Fix bug in QaNetEncoder, update pretrained model (2773)
95b439da Remove misleading dropout from training configs where RNN has only one layer (2768)
c059b151 Remove misleading dropout from bidaf.jsonnet (2767)
3c226042 Extras checks (2754)
c6ddb9d3 Update comment on ELMo NER model to match current configuration (2761)
979817dd add print-results command (2744)
282f12ae fix abstract type hint (2753)
90839d0b Dummy commit to test Google Cloud Build removal.
b6453dc1 Directly capture output in EVALB metric (2755)
20772152 Use numpy's shuffle for reproducibility. (2729)
53b3d37b Text Classification Predictor (2745)
12cee922 lowercase stopword set in word filter (2749)
f8d2ec5b Moving WTQ language updates from iterative-search-semparse (2637)
b9072218 Add caching functionality to the base DatasetReader class (2726)
75f7992c Document interaction between UNK token and max_vocab_size (2740)
7e2e592d Allow FromParams to construct Union types (2734)
016ea34e Fixing typo in ElmoTokenEmbedder documentation (2741)
57956e78 Enable span-level F1 metric in SimpleTagger (2735)
00e95b8b Added NAQANet to and DEFAULT_PREDICTORS (2731)
9dec0202 [Feature Enhanced] Generalize F1-measure to FBeta-measure (2275)
e2d153f8 Add perplexity metric to LanguageModel (2548)
4422d53d QaNetEncoder Multi-GPU (2692)
4c98095b Fix example in RegularizerApplicator.from_params docstring (2733)
deae1db2 Add coref_resolved method to CorefPredictor (2296)
7d34ca3b Fix to include day count in training duration for metrics.json  (2718)
58f386c5 clarify that seq2vecencoder is required for basic classifier (2712)
74634e34 Add missing docstring for Embedding.pretrained_file (2710)
08d66bf2 Fix typo in output parameter name in docstring (2708)
79e2cf7b Fix ArrayField.to_tensor's dtype when it's a scalar (2676)
48294831 Fix tagger tutorial (2705)
a9d957b7 Update pylint to 1.9.4 (2698)
73bc049b Adding NAQANET training config and fixing test format in evaluation (2695)
e5adfd73 Ignore 2 root node types in PTB parsing reader (2675)
53a46ab7 call parse_cuda_device inside check_for_gpu (2646)
1bca7f60 Correct The Pearson Correlation Formula In Docs (2683)
0f417503 Catch some references to old library versions. (2672)
efdc9f3c unpin msgpack, pin spacy to > 2.0.18 (2671)


0abefe25 Fix docstrings after inspection (2655)
a80aac7e Move register to typical location. (2662)
e1d70bb7 Add missing paren (2661)
2bf0779f Fixed ELMO command's lack of encoding specification when reading from… (2614)
e138d6cb TextCat Reader skip_label_indexing Fix (2653)
6e1ee2e1 uses open(file_path) where file_path is a URL (2654)
263d3401 Upgrade Dockerfile to stretch. (2647)
fab4b15e Fix quarel explanations (2648)
37a078af make things backward compatible with spacy 2.0 (2644)
e79b713d add dependency parser config (2639)
305bd35c final_state_tuple is a Tuple (2645)
a4a43066 Checkpointer should check in case user deleted a serialized model (2531)
3c889cae Update outdated doc (2641)
12626ac4 fix sampled softmax tests (2061)
c06e9045 add option "-k" to limit tests in test-install command (2635)
1357c7e8 Remove reference to from the README (2633)
0bbd359f Add workaround for missing linking in spacy 2.1, remove (2632)
1b07b481 Bump up spacy version pin to 2.1 (2626)
e3038a3f bug fixes in drop evaluation and more test cases (2594)
f8b10a94 Add a no-op trainer. (2610)
9e72ee03 Fix TextClassificationJsonReader handling of unlabeled instances (2621)
01065364 Add text classification model (2591)
43b384d4 Move some scripts to `allennlp/allennlp/tools` (2584)
fe80f9fb Fix 'cuda_device' docstring in Trainer.__init__ (2613)
f19c0ee2 Enable Pruner class to keep different number of items for different entries in minibatch. (2511)
3cdb7e21 Ensure contiguous initial state tensors in `_EncoderBase(stateful=True)` (2451)
ca998b26 Feature Request: Add a `dtype` parameter to `ArrayField` (2609)
ff908456 change pins to bounds (2490)
0fffb9b0 Allow the transition from M to M in the BMES constraint type (2611)
0542c5a6 make spacy word splitter return allennlp Tokens (now NamedTuples) by default (2607)
9e3f4052 Only log the keys in the "extras" dictionary when instantiating objects from_params (2608)
720d306b Handle edge cases in beam search (2557)
79936e5e Re-use .allennlp when running Docker commands (2593)
55458f51 fix bugs in naqanet (2604)
c163b638 Fixed memory error in `make_vocab` on big dataset. (2606)
b61d511d context manager that allows predictor to capture model internals (2581)
3e0fcf0b Update (2601)
18312a0c Seq2seq dataset reader improvements (2599)
1adb3e8a Interactive beam search (2513)
0f7bcf52 Add support for overriding list elements (2585)
9437b614 disable tutorial test (2580)
6ea273ef Allow checkpointer to be initialized from params (2491)
b0ea7ab6 Make tutorial use GPU if available. (2570)
41174daa Fix unit test to work with GPUs. (2574)
32defc3b fix a bug in (2534)
cdbac6db Fix min padding length in pretrained NER predictors (2541)
d0f7170b Make `load_archive` operate on serialization directories. (2554)
31af01e0 Add missing requirement to (2564)
c54fcc62 Add NAQANet model for DROP (2560)
97f3578b add initializer to copynet (2558)
bbb67e9f Add dataset reader for DROP (2556)
4d5eadee Add official DROP evaluation script (2559)
3d5560fa missing `=overrides` argument when instantiate Params despite a second time (2553)
64a8e130 Scope DeprecationWarning errors to just allennlp-internal stuff (2549)
321cf915 Clarify `data_parallel` implementation. (2488)
540ebac7 Propose a deprecation policy. (2424)
6d8da973 make archival take an optional output path (2510)
fefc4390 Restore tensorboard epoch metrics to pre-refactoring behavior (2532)
0205c26f Bump version numbers to v0.8.3-unreleased


3a5373fd upgrade huggingface pretrained bert (2524)
2f2b481c Adding bag_of_embeddings as an alternate name for the boe encoder (Issue 2268) (2521)
9f87aa56 fix typo (2508)
751d2e1e Remove extended_vocab argument from extend_embedder_vocab API. (2505)
cf6eff22 Allow vocab+embedding extension in evaluate command. (2501)
39413f22 Add necessary implicit embedding extension for transfer-modules api and vocab extension (2431)
47feb35e remove notebooks and juptyer dependency (2499)
56c11e53 Revert "Less restrictive token characters indexer (2494)" (2497)
89056f1e Less restrictive token characters indexer (2494)
43dc4cb4 upgrade pytorch-pretrained-bert (2495)
b9a40036 Add momentum schedulers to trainer (2469)
19d0f592 Add support to transfer submodules, and in different modes. (2471)
ce83cb41 Variational dropout in Augmented LSTM (2344)
2e7acb05 Mark QaNet test as flaky (2481)
23ea5908 Add support for pretrained embedding extension in fine-tuning. (2395)
dbd70851 WIP: Make warnings errors and filter library warnings from pytest (2479)
234fb18f make bag_of_word_counts token embedder ignore padding and UNK tokens (2432)
e5a74abc [Feature Enhanced] Support sentence pair in BERT (2279)
6f5f5657 Fix CORS error for react in config explorer (2476)
08a8c5e5 Add QaNet model (2446)
e4174868 Fixes unnecessary parameter clone in moving average. (2468)
9a2f1982 Add support to kwargs in TimeDistributed (2439)
9a5ea1a2 Ten times faster than before in GPU get_best_span of bidaf (2465)
84eb4d1a More help info for `` (2327)
a8e0f15f Make `mask` in `PassThroughEncoder` work (2448)
2b52492e Fix path issue for certain cases when using --include-package (2464)
35f7f169 Update `Running AllenNLP` in (2447)
dddcbf24 Cleanup global logging after training (2458)
5560466e [Feature Enhanced]Add FeedforwardEncoder for Sequences (2444)
5ff923c5 Generalize LR scheduler (2345)
508cb730 Instantiate the class `Activation` properly when testing FeedForward. (2443)
dc901a6a rename test case (2441)
00c877b9 Fix edgecase of potentially missing best-val-metrics in metrics.json on training recovery (2352)
4465a6e4 Support exponential moving average in the default trainer. (2406)
b6cc9d39 Optimizing the memory usage in `multi_head_self_attention` and `masked_softmax` (2405)
90f39f91 Mark Atis Parser tests as flaky. Fix pylint. (2430)
8b07c42a Improve error message for "undocumented modules" (2427)
585c19e4 Fixing BERT mask size (2429)
b7d56ae0 Fix typo when loading train state (2425)
cb9651a4 Add AUC metric. (2358)
9b01d4ca fix params duplicate bug (2421)
c1aace7e Get rid of hardcoded Vocabulary class name. (2418)
55b9bd08 serialization in the tutorial (2412)
d6e3140f Replace scripts with entry_points.console_scripts (2232)
3baec620 Remove outdated reference to custom extensions (2401)
012e42dd Ensure vocab is popped off params (2409)
a9b34750 Fix docstring for PretrainedBertIndexer's pretrained_model param (2399)
11d83278 Fix typing for python 3.7 (2393)
7525c610 Remove scattering for multi-GPU training. (2200)
d0a5a40a Remove unnecessary line (2385)
9719b5c7 Allow embedding extension to load from pre-trained embeddings file. (2387)
174f5395 enable pickling for vocabulary (2391)
2d29736b Add support for extending Embeddings/Embedders with Extended Vocabulary. (2374)
7cc8ba04 Rollback PR 2308 "Check train/dev/test-file-path" (2386)
4fe8fa0d move model to cuda in tests, add comment (2384)
8eb2d75c Text classification JSON dataset reader (2366)
e9b0acac Make DomainLanguage handle executing action sequences directly, with side arguments (2375)
122a21a5 changed log-to-console flags (2381)
385e66e8 pieces for multitask learning (2369)
ae63a2ae New WikiTables language (2350)
fc91f3e6 Sparse Gradient Clipping (2312)
7da19bc8 Disable requires_grad for Transformer ELMo parser. (2336)
e9287d4d Bag of words token embedder (2365)
e75b19b8 Use f-string (2370)
e2af6b44 Install package in dockerfile (2305)
9649f3a2 fix a typo (2367)
e08ade81 trainer refactor (2304)
be57ecc3 Add snippet for using `LanguageModelTokenEmbedder`. (2359)
abc10ed9 Update howto by removing old allennlp configure (2330)
083f49ea Bump up pytorch-pretrained-bert to v0.4.0 (2349)
aa8ed3b7 Added StackedBiDirectional to list of encoders (2339)
51ac8142 Add optional additional tokens to ELMo character indexer (2364)
6bd59751 sanitize environment variables that can't be unicode encoded (2357)
0f6796aa Fix very minor docstring typo in (2361)
0409371e New NLVR language (2319)
632b14ce Warn default value of min_padding_length (2309)
4c5de577 adjust call to lisp_to_nested_expression (2347)
43ea97cc QuaRel Domain Language (2321)
23687601 Remove pylint ignores for backslashes. (2331)
e6ad6e9a Evaluate on a token-weighted basis. (2183)
71ebcd84 add infer_and_cast (2324)
059b0572 remove custom extensions (2332)
5f9fb419 Stacked Bi-Directional LSTM to be compatible with the Seq2Vec wrapper (2318)
93250f05 Skip Custom Highway LSTM tests, since they're broken (2307)
7ecf772d Fix backslash exceptions. (2322)
5bce1d54 Display default values in help message for allennlp command (2323)
36d74006 Added links for some tutorials and organized the How-to alphabetically. (2315)
f1600591 Add raw prefix to avoid warnings from regex (2310)
8a7f808b Check train/dev/test-file-path before process (2308)
7d3b130e Masked Flip (2299)
b0e29566 Add CopyNet seq2seq model (2237)
a4670adb Grammar induction from a python executor (2281)
088f0bb6 Turn BidirectionalLM into a more-general LanguageModel class (2264)
f76dc70b Bump version numbers to v0.8.2-unreleased


Highlighted changes

* We now include a script to easily update pre-existing model archives (2223).
* We fixed an issue that caused issues using AllenNLP from within iPython (2257).

List of Commits

b0191969 Don't deprecate bidirectional-language-model name (2297)
01913fb4 Update the base image in the Dockerfiles. (2298)
1bec3f96 Add __repr__ to Vocabulary (2293)
73f0e5b9 Update the `find-lr` subcommand help text. (2289)
e13aae41 fix 2285 (2286)
2f662cf4 Fix spelling in tutorial README (2283)
e6b0f213 script for doing archive surgery (2223)
259ce322 Add a Contributions section to (2277)
e394b7a9 Fix type annotation for .forward(...) in tutorial (2122)
cf6a7d7d Fix bug in uniform_unit_scaling 2239 (2273)
511c846c Deprecate bidirectional-language-model for bidirectional_language_model (2253)
b5141b23 fix doc (2213)
0d54a7a3 Add a quick README for training transformer ELMo. (2231)
07d193ee clarify the "num_output_representations" more clear (2256)
ee02ed0f Fix multiGPU peak gpu memory test (2254)
fb587833 Check for existing vocabulary before creating a new one (2240) (2261)
3cff7d35 Remove deprecated SpanPruner (2248)
a98481c8 Remove deprecated batch_average argument to sequence ce with logits (2247)
cf671280 Remove EpochTrackingBucketIterator (2249)
2f56765b fix get_output_dim() for ElmoTokenEmbedder (2234)
42e0815e Fix circular dependency. (2257)
b5b9b401 add some docstrings about parameter `force` (2226)
e53b4f45 Allow loading model from path with ~ HOME (2215)
3f0953d1 change mislabeled variable in description (2242)
1938a5af fix completely masked case in BooleanAccuracy (2230)
fe626580 Corrected documentation (2229)
e2f66c0d Simplifies Subsequent Mask  (2224)
ce060bad Bidirectional LM Embedder (2138)


Major New Features

* PyTorch 1.0 support

List of Commits

e142042c Update
4cc4b6b6 Remove constraint_type parameter from CRF Tagger (2208)
eff25a30 Adding metadata and debug info for the NLVR demo (2214)
050b7671 Update
bb000a01 Allow NLVR predictor to handle string inputs for the structured representation (2209)
6aaf76ae Adding DatasetReader for the bAbI tasks and Qangaroo (2194)
3fd224fc fix lowercase-ization in bert indexer (2205)
a2084fd3 Remove last_dim_softmax as it's deprecated and scheduled for removal. (2207)
d1bae5ce Remove deprecated dataset_readers.{nlvr, wikitables} components. (2206)
06637629 Fix (most?) warnings from BasicTextFieldEmbedder (2117)
c6663579 Adding an initializer to initialize a model to pretrained weights (2043)
30612985 Fix loaded model not taken to cuda device (2190)
7e22b861 add CPU/GPU usage in metrics.json (2136)
12d32972 Make bz2 and lzma optional dependencies (2196)
a558f7f4 minor spelling tweaks (2192)
89cef2f0 Clean up temporary archive directory at exit (2184)
0ae699a5 empty time stamp should be a str instead of int 0 (2153)
8e861e75 (upstream/add_memory_usage_into_metricsA) pytorch 1.0 (2165)
d0d6310b add default argument for SpacyWordSplitter (2174)
a89aebae Minor fixes to help evaluate ELMo port. (2172)
da761e8f pre commit hook to verify file sizes (2151)
41c71960 instantiate multiprocessing.log_to_stderr lazily (2166)
021471a9 Transformer ELMo (2119)
6c33005c fix bert input order (2145)
a8adc6c1 Fixes broken link and rephrasing (2162)
140c3ec5 make max dialog length configurable through json file (2160)
2e412e33 fix mismatches (2157)
a75cb0a9 Update the elmo command help text. (2143)
7dbd7d34 add [CLS] and [SEP] tags to bert indexer (2142)
411b5a2f upgrade pytorch-pretrained-bert + fix kwarg (2130)


Major New Features

* You can now run `allennlp configure` to launch a GUI tool that helps you build a model configuration.
* You can now use a BERT embedder within you model.

List of Commits

ca7e3cf3 release config explorer (2118)
27830443 pin msgpack (2125)
3eecd1aa more informative message for BasicTextFieldEmbedder mismatched keys (2124)
3a7e0659 fix epoch tracking (2121)
db0096f1 Fix more BasicTextFieldEmbedder warnings (2114)
f757f7a0 Fix epoch tracking bucket iterator warnings. (2108)
44269a1d Rename DATASET_CACHE to CACHE_DIRECTORY. (2000)
3842820c Fix span pruner warning. (2113)
92c71a17 Upgrade flask to remove werkzeug warning. (2107)
240974fc Pack batches more tightly with maximum_samples_per_batch. (2111)
42d076ee modify BERT embedder to deal with higher order inputs (2104)
dcd1d25e Resolve some of the token_embedders warnings. (2100)
2648d952 Add BLEU metric to simple_seq2seq (2063)
582d0e4f add BERT token embedder  (2067)
d78daa44 Fix EVALB compilation by cd to directory path instead of binary path (2090)
6b16222b calypso transformer (2049)
5890111b Separate calculation of num_tokens per TokenIndexer (2080)
193bb04d Specify path at which to compile evalb. (2027)
af902a3f Add support of tokenized input for coref and srl predictors (2076)
e3e8e1cb Fix typo in IntraSentenceAttentionEncoder docstring (2072)
d5040896 Add wikitables predicator to the default predicators (2071)
2a2d9c94 Improve server_simple by adding predict_batch and adding GPU option (2064)
19c784fa Add BLEU metric (2001)
6ecd1932 Fix logging statement so it has the proper scope. (2059)
888c11a3 add flaky decorator + increase tolerance (2060)
86da8809 add sampled softmax loss (2042)
07b57491 Enable multi-gpu training in (2045)
43243acf Update issue templates
de7c013e Sentence splitter (2036)
0701dbdc Dynamic stopwords (2037)
aa1b774e Test sql decoding (2030)
a5c2d9eb Catch nan loss in training loop (2029)
82bbee7d (warnings) Add link to EMNLP tutorial from tutorial README.
68cbfb80 modify training_configs related issue 1954 (1997)
481c1817 Fix ArrayField.to_tensor not working with a scalar (2008)
be36374e change stopping factor default (2021)
b919f5ae Add logging statement when EVALB is compiled. (2018)
3ca69420 Support stdin for prediction jsonl. (2003)
bae77581 Change log level to clean up allennlp command. (2004)
1406a856 Added default predictor for bimpm model (2014)
77517992 Ignore hidden files in vocabulary/ (2002)
6af83e7c Prevent inspect_cache from swallowing exception. (1999)
e4f9131c Untyped grammar (1986)
a4b885cd Add scalar_mix_parameters to Elmo.from_params (1992)
1f782d33 Add --force option to find-lr command (1991)
021f8bb1 use wordsplit with taggers (1981)
c262ef5a Match vocab generation in currently online Event2Mind model. (1978)
bc97ce87 combine_tensors_and_multiply_with_batch_size_one_and_seq_len_one (1980)
5aa1c8f0 Fix for import_submodules (1976)
02317e12 add min_padding_length to TokenCharactersIndexer (1954) (1967)
39e16c41 delete swp file (1975)
ad729e37 Link tutorial site from tutorials/ (1972)
2a8bd638 Extend GPU fixes from vidurj and MaxMotovilov (1944)


This is a minor release.

List of Commits

5512a8fb Add config for non-elmo constituency parser, rename existing parser config (1965)
dedc4cef Try compiling EVALB in metric if it doesn't exist (1964)
26f09cff Disable tqdm when there isn't a TTY (1927)
9a3e4b6b Add Windows support info to (1962)
a3bd4759 Update
19d106e7 minor bug fix in get_agenda (1959)
4e440970 Add scalar_mix_parameters to ElmoTokenEmbedder.from_params (1956)
02640024 Add scalar_mix_parameters to ElmoTokenEmbedder (1955)
ce0bc55b Add training config for bidaf with elmo (1953)
c6fb86d2 Various fixes related to the variable free wikitables world (1917)
aeb2fc30 Fix small typo (1939)
d089d52f Add a dimension check to DialogQA, fix example configuration (1934)
3e2d7959 Remove the report from pylint. (1932)
53a555c4 Update (1837)
afc36eb1 Add a --force command to train (1913)
947bd165 make api more pythonic (1926)
0e82106c clean up simple_seq2seq tests (1928)
b529f6df Generalize beam search, improve simple_seq2seq (1841)
b0ade1bf add matplotlib to (1919)
188e06d7 Passing the 'stateful' parameter to the 'PytorchSeq2SeqWrapper' (1925)
360c3e10 Text2sql model (1905)
f29839e0 fix BiMPM url in (1923)
404b5296 Enable setting scalar mix parameters for ScalarMix and Elmo (1921)
9fcc7956 Learning Rate Finder (1776)
63836c42 Adding support for list, tuple, and set in from_params (1914)
f224c628 Agenda improvements (1897)
2ec52a5d Uptick cffi to 1.11.5 (1846)
0e47d160 bidirectional LM + cnn highway encoder + gated cnn encoder (1787)
158a29c1 Tentative port of `LMDatatsetReader` (1881)
ae7b9a73 Move 'What is AllenNLP' from README to docs. (1909)
a94a23eb More closely emulate original Event2Mind implementation. (1903)
d3a8f4f6 Track dev loss in ATIS model (1907)
c4505659 Update
3753b0b2 Multilayer decoder for semantic parsing framework (1902)
7a707ea2 Make `SlantedTriangular` a little more robust (1751)
4a22c292  added optimizer parameter (1766)
27fab848 Add more configuration options for ATIS semantic parser (1821)
dc66c8f9 Fix QuaRel reference (1899)
ae9c9c83 try to do some type inference on variables (1898)
1691cb3a Run ActionSpaceWalker on the new variable free language for WikiTables (1860)
0d9ad655 Var free grammar (1893)
24e5547b feature-enhancement: make trainer registrable (1884)
91bfb4c0 Global grammar values (1888)
ffab3201 strings in sql/prelinked entities (1876)
043ff07c allow Model to use custom Vocabulary subclasses
c1dcd0ff Reflects the updated code (1873)
371fd807 input_size of phrase_layer: 1144 -> 1124 (1875)


Major new features

- A [new framework]( for training state-machine-based models, and several examples of using this for semantic parsing.  This still has a few rough edges, but we've successfully used it for enough models now that we're comfortable releasing it.
- A [model]( for neural open information extraction
- A [re-implementation]( of a [graph-based semantic dependency parser](
- A [MultiProcessDataIterator]( for loading data on multiple threads on the CPU (we haven't actually used this much, though - if you have trouble with it, let us know).

Breaking Changes

1. Previously if you were working on a GPU, you would specify a `cuda_device` at the time you called `instance.as_tensor_dict()`, and the tensors would be generated on the GPU initially. As we started to develop code for generating instances in parallel across multiple processes, we became concerned that over-generation of instances could potentially exhaust the GPU memory.

Accordingly, now `instance.as_tensor_dict()` (and all the `field.as_tensor` operations that underlie it) always return tensors on the CPU, and then the `Trainer` (or the evaluation loop, or whoever) moves them to the GPU right before sending them to the model.

Most likely this won't affect you (other than making your training loop a tiny bit slower), but if you've been creating your own custom `Field`s or `Iterator`s, they'll require small changes as in 1731

List of commits

7ddc7f1 Automatically map function names to aliases for NLTK's logic parser (1870)
3989000 Bug fix binary expression in updates to grammar (1869)
3d78e46 Tutorial for the semantic parsing framework (1853)
c530fde Update for Event2Mind. (1866)
8ff8324 Add QuaRel semantic parser (1857)
8236624 Compile and fix warning for regex in SQL action seq formatting (1864)
5172c85 Create a markdown file that enumerates available models (1802)
2111428 Use test-install rather than (1849)
c635bc4 Graph parser for semantic dependencies (1743)
c728951 Integrate new table context in variable free world (1832)
3de6943 Avoid deprecation warnings (1861)
a7da2ab Fast grammar generation (1852)
d8b13e0 Simplified GrammarStatelet, made a new LambdaGrammarStatelet class for WikiTables (1829)
1d50292 Use current_log_probs instead of log_probs in debug_info (1855)
0934512 move ftfy to right section, fix req. check script (1858)
6183c90 Remove wget in wikitables tests by using requests (1854)
358c36b Raise RuntimeError if java is not available (1856)
99308f6 Structured sql data (1845)
53b166e Executor for WikiTables variable free language (1762)
38c87e0 fix network issue (1844)
0b852fb Add Open AI tokenizer, and ability to add special tokens to token indexer (1836)
f7c4195 Faster data loading for SQL Context (1838)
a1ec53d initial text2sql grammar with unconstrained context (1834)
a6b4c30 Add per node beam size option to beam search (1835)
63ba3fb make some sql context code more generic (1831)
e84e496 Support adding to vocabulary from pretrained embeddings (1822)
9c7d0d0 sql data updates (1827)
b1db1c9 ATIS Predictor (1818)
53bba3d SQL Executor (1815)
8be358e Seq2Seq Test Cleanup (1814)
02e2930 Model can store extra pretained embeddings (1817)
f65ced5 Add an example of using ELMo interactively (1771)
0459261 Atis model action refactored (1792)
546242f Fixes for seq2seq model (1808)
63fcada Make num_start_types optional in transition functions (1811)
7833447 Load the pre-trained embeddings for all NER tokens (1806)
c78bb36 Add a correctness test for Open AI transformer (1801)
e64373c Update
01d2906 Add tags_to_spans_function param to SpanBasedF1Measure. (1783)
3906981 Moving the WikiTables executor into semparse.executors (1786)
7647de8 Fixing the table format for the WikiTables executor (1785)
6039ac0 SQL Coverage script (1750)
9306e97 Add minimal configuration to existing models. (1770)
ae72f79 Better multi-word predicates in Open IE predictors (1759)
cca99b9 Add a predictor for Event2Mind. (1779)
63dbdf1 one tutorial to rule them all (1613)
8759ea3 Event2Mind (1679)
c5501c7 fix trainer initialization (1761)
898cfed BiattentiveClassificationNetwork with ELMo and without GloVe (1767)
421f9a4 add simplest possible pretrained model interface (1768)
b9cbfd6 Add an example of how to read ELMo embeddings with h5py (1772)
e4f41e7 use managers for queues (1769)
64f253f Add a requirements check to scripts/ (1699)
b5087e7 multiprocess dataset reader and iterator (1760)
1761684 Fixed bug in _get_combination_and_multiply for batch size equal to 1 (1764)
ffe037d Update (1763)
606a61a output metrics.json every epoch (1755)
49f43ec Remove large openie model file (1756)
609babe Add logging of learning rates to tensorboard (1745)
eda2ba5 Set up `SlantedTriangular` for first batch (1744)
1d81d8b Grammar for a variable free language for WikiTableQuestions (1709)
4674b01 Make bmes_tags_to_spans support ill-formed spans. (1710)
4c99f8e Text2sql reader (1738)
8867f2f create tensors on cpu, move them to gpu later (1731)
0664893 Discriminative fine-tuning, gradual unfreezing, slanted triangular learning rates (ULMFiT) (1636)
1532886 Rename and organize tutorials (1741)
72f7b4b Remove bucket iterator shuffle warning. (1742)
8bbde0d Fix index_with bug in basic iterator (1715)
3f54fc8 make openai transformer byte pair indexer add to the vocab (1705)
7bf930f Add Open Information Extraction (1726)
6c1607e bump gevent to 1.3.6 (1732)
934ee17 Update (1721)
72c9e98 Sql text utils (1717)
ec25acd Update
647e53e Removing contents of requirements.txt file (1729)
a585994 Update (1722)
a61aa67 Moving allennlp.nn.decoding to allennlp.state_machines (1714)
0b7bb20 Fixes and updates to (1718)
c47318b Add configs for tasks in ELMo paper, with and without ELMo (1626)
f2884ad require torch 0.4.1 (1708)
ef72e2e Save learning rate scheduler to training state (1650)
6cb7005 Add average parameter to sequence cross entropy (1702)
5e68d04 Rename SpanPruner -> Pruner, remove -infs (1703)


ec2d5a1 skip moto tests, unpin dependencies (1697)
863ded8 Add option to keep sentence boundaries in Elmo (1695)
e027478 Upgrade Flask to 0.12.4 (fixes bug) (1694)
335d899 Make SpanBasedF1Measure support BMES  (1692)
d16f6c0 Add a default predictor for biaffine-parser. (1677)
4b6f8d1 Remove inplace modification in Covariance (1691)
a0506a7 remove print statement (1690)
89729e0 Add BMES constrain to is_transition_allowed function (1688)
3df54c8 Removing last_dim_*softmax (1687)
d1f6748 minor memory improvements in _joint_likelihood() of ConditionalRandomField with advanced indexing (1686)
2a45f44 Add Covariance and PearsonCorrelation metrics (1684)
1b31320 Add MeanAbsoluteError metric (1683)
e9710c8 Fix links in docs and improve (1680)
cbeef92 Predictor for QUAC models (1674)
279f325 SQL semantic parser entity improvements (1658)
45e6a0f pin boto3 + awscli (1671)
fcdbbd3 require Python 3.6.1 (1667)
5a305e3 improve API, update tests (1664)
6c7c807 Adding decoder to bimpm and improve demo server. (1665)
9caac66 Fix lazy dataset reader bug in ModelTestCase (1668)
0b3ebcf Reading comprehension model for QUAC dataset (1625)
994b996 Make CrfTagger work with non-BIO tagging tasks (1661)
c31d5f9 Fix conll2000 data reading (1657)
abfb32d Refactoring how actions are handled in the semantic parsing code (1294)
75abebb Standardize tagging datasets (1656)
362060a add back sniff test for parser (1654)
5e13d24 Fix Conll2003 reader docs to reflect true label namespace names (1655)
fea0d0a Upgrade flask to avoid security vulnerability. (1653)
d27770a Make replace_masked_values more efficient by using masked_fill (1651)
4ade6e4 Fix module docstring for training.learning_rate_schedulers (1649)
301f2d6 Implement cosine with restarts (1647)
681a9cf make pos selection an option in dataset reader, use in predictor (1648)
bca6c2a make max_vocab_size default to None for a given namespace in Vocabulary._extend (1643)
1d43188 Add learning rate to logs (1641)
b70e026 Make LinearAttention and LinearMatrixAttention memory-efficient (1632)
be76b5c Add missing --recover flag to train docs (1640)
2e47ac4 typing is part of standard library from python3.6 (gives errors on python3.7) (1638)
4df4638 Data reader for QUAC (1624)
bf75c9b Allow configurable label namespaces (1621)
4c6731b Pip install the library in editable mode (-e) (1592)
14aee14 fix calculation of estimated time remaining (1631)
8c89b08 Parser decoding fix 2 (1619)
7a9975e Fix bimpm config file for names num_perspective(s). (1627)
0a5aea7 atis dataset reader (1577)
659bf25 Allow files to be downloaded from S3 (1620)
76a65a8 BiMPM model (1594)
58119c0 make fine-tune not expand vocabulary by default (1623)
3107a0c Don't error if fine-tune serialization dir already exists (1622)
82686c1 Add IOB1 as allowed CRF constraint (1615)
59132d2 Avoid divide by zero in CategoricalAccuracy (1617)

0.6.0 insecure

AllenNLP v.0.6.0 has been upgraded to use PyTorch 0.4.1. Accordingly, it should now run on Python 3.7.

It contains a handful of breaking changes, most of which probably won't affect you.

Breaking changes:

1. HOCON -> Jsonnet for Configuration files
Although our experiment configurations look like JSON, they were technically [HOCON]( (which was a superset of JSON). In this release we changed the format to [Jsonnet](, which is a *different* superset of JSON.

If your configuration files are "JSON with comments", this change should not affect you. Your configuration files are valid jsonnet and will work fine as is. We believe this described 99+% of people using allennlp.

If you are using advanced features of HOCON, then these changes will be breaking for you. Probably the two most common issues will be

unquoted strings

JSON requires strings to be quoted. HOCON doesn't. Jsonnet does. So in the off chance that you have not been putting your strings in quotes, you'll need to start putting them in quotes.

environment variables

HOCON allows you to substitute in environment variables, like

"root_directory": ${HOME}

Jsonnet only allows substitution of explicit variables, using a syntax like

"root_directory": std.extVar("HOME")

these are in fact variables fed to the Jsonnet parser (not environment variables); however, the allennlp code will read all the environment variables and feed them to the parser

the elimination of `ConfigTree`

(you probably don't care about this)

previously the AllenNLP `Params` object was a wrapper around a `pyhocon` `ConfigTree`, which is basically a fancy `dict`. After this change, `Params.params` is just a plain `dict` instead of a `ConfigTree`, so if you have code that relies on it being a `ConfigTree`, that code will break. This is very unlikely to affect you.

why did we make this change?

There is a bug in the Python HOCON parser that incorrectly handles backslashes in strings. This created issues involving initializer regexes being serialized and deserialized incorrectly. Once we determined that the bug was not simple enough for us to easily fix, we chose this as the next best solution.

(in addition, jsonnet has some nice features involving templates that you might find useful in your experiments)

2. Change to the `Predictor API`

The API for the `_json_to_instance` method of the `Predictor` used to be `(json: JsonDict) -> Tuple[Instance, JsonDict]`, where the returned JsonDict contained information from the input which you wanted to be returned in the predictor. This is now not allowed, and the `_json_to_instance` method returns only an `Instance`, meaning any additional information must be routed through your model via the use of `MetadataFields`. This change was to make `Predictors` agnostic of where `Instances` they process come from, allowing us to generate predictions from an original dataset using a `DatasetReader` to generate instances.

This means you can now do:
`allennlp predict /path/to/original/dataset --use-dataset-reader`, rather than having to format your data as .jsonl files.

3. Automatic implementation of `from_params`

It used to be the case that if you implemented your own `Model` or `DatasetReader` or whatever, you were required to implement a `from_params` classmethod that unpacked a `Params` object and called the constructor with the relevant values. In most cases this method was just boilerplate that didn't do anything interesting -- it popped off strings and strings and ints and ints and so on. And it opened you up to a class of subtle bugs if your `from_params` popped parameters with a different default value than the constructor used.

In the latest version, any class that inherits from `FromParams` (which automatically includes all `Registrable` classes) gets for free a `from_params` method that does the "right thing". If you need complex logic to instantiate your class from a JSON config, you'll still have to write your own method, but in most cases you won't need to.

There are some `from_params` methods that take additional parameters; for example, every `Model` constructor requires a `Vocabulary`, which will need to be supplied by its `from_params` method. To support this, the automatic `from_params` allows extra *keyword-only* arguments.  That is, if you are calling the `from_params` method yourself (which you probably aren't), you have to do

YourModel.from_params(params, vocab=vocab)

if you try to supply the extra arguments positionally (which you could when all of the from_params were defined explicitly), you will get an error. This is the "breaking" component of the change.

4. changes to `TokenIndexers`

previously the interface for `TokenIndexer` was

TokenIndexer.token_to_indices(self, token: Token, vocabulary: Vocabulary) -> TokenType:

this assumption (one token) -> (one or more indices) turned out to be not general enough. there are cases where you want to generate indices that depend on multiple tokens, and where you want to generate multiple sets of (related) indices from one input text.  accordingly, we changed the API to

TokenIndexer.tokens_to_indices(self, tokens: List[Token], vocabulary: Vocabulary, index_name: str) -> Dict[str, List[TokenType]]:

this is some real library-innards stuff, and it is unlikely to affect you or your code unless you have been writing your own `TokenIndexer` subclasses or `Field` subclasses (which is not most users). If this does describe you, look at the changes to `TextField` to see how to update your code.


other changes:

95401255 Tree decoding fix (1606)
4eaeff72 Fix use of scalar tensors in ConllCorefScores (1604)
982ceddf Small typo fixes in tutorial (1603)
45fff838 use empty list for no package not empty string (1602)
e0e5f4a8 revert conllu changes (1600)
49626cc1 filter out numpy 'size changed' warnings (1601)
4fca0287 (include-package-fix) Log number of parameters in optimizers (1598)
b79d5001 Add file friendly logging for elmo. (1593)
152b590c Output details when running check-links. (1569)
068407e3 make --include-package include all submodules (1586)
12b74e5a Add some debugging echo commands to pip. (1579)
9194b30b copy bin/ into image (1587)
bf760b04 be friendlier to windows users (1572)
4fa4dc23 fix and pin conllu dependency == 1.0 (1581)
6b37dd2b Turn off shuffling during evaluation (1578)
07bfc312 Demo features for the dependency parser (1560)
025b5e7c Remove a step from verify. (1565)
d2c02742 Don't use a hard-coded temp directory. (1564)
15e36458 openai transformer LM embedder (1525)
87b32bb3 Expose iterator shuffling through Trainer config (1557)
52f44e24 Add parsimonious for SQL parsing to (1558)
089d16dc SQL action sequences and Atis World (1524)
6f0fec13 make passing different feedforward modules more flexible (1555)
dcba726a WIP: Skip tests that require Java in test-install (1551)
8438f91f Remove the unused NltkWordSplitter and punkt model. (1548)
09c2cc56 Dependency parser predictor (1538)
c2e70ca7 upgrade to pytorch 0.4.1 + make work with python 3.7 (but still 3.6 also) (1543)
c000ae22 made checklist updates more efficient (1552)
2ec4c5c2 re-work dependency parser to use HEAD sentinel inside model (1544)
10ac9ede Update
1c2a0deb Remove requirements_test.txt (merge into requirements.txt) (1541)
2154e726 Allow server start without field-names. (1523)
e32f4865 fix BasicTextFieldEmbedder.from_params to reflect the constructor (1474)
dc1ff363 Fix the reported broken links. (1533)
e049afc0 fix ud reader in case of implicit references (1529)
ad265f85 Add output-file option in evaluate to save the computed metrics (1512)
c37ff2ca update config files to jsonnet format (1479)
f3fce4c9 Move cache breaker to the end. (1527)
c9385e78 Fixed broken link (1508)
8cf893e7 Add a scirpt to report broken links in all markdowns. (1522)
be69e52a Parser improvements (1515)
e4b86b0e Show warning before ignoring key with unseparable batches from model.forward. (1520)
2c9abf9a Minor change of a comment (1500)
0722d7f1 DenseSparseAdam + CRF Feedforward layer (1519)
1402b7c0 Add to_file method in Params and default preference ordering. (1517)
e0581b61 Preserve best metrics (1504)
de0d3f73 Dependency parser (1465)
be0f0c25 Remove extra .params (1513)
7df8275e Text field updates to support multiple arrays in TokenIndexer (1506)
88c381a1 Make usage of make-vocab, dry-run consistent with train and allow 'extend' to be used by both (1487)
34a92d0d Update (1509)
8e5ee656 fix dumb domain filtering (1505)
8a208203 Ensure Contiguous Hidden State Tensors in Encoders  (1493)
66b2c1c3 Bio to bioul (1497)
f4eef6ee [for discussion] change token_to_indices -> tokens_to_indices (in preparation for byte pair encoding) (1499)
9ec3aa64 Fix start of tqdm logging in training. (1492)
ee003d24 Fix SpanBasedF1Measure allowed label encodings comment (1501)
d307a253 Add IOB1 support to SpanBasedF1Metric (1494)
9c21696d fixing a bug in trainer for histograms (1498)
5f2f539a Add option to have tie breaking in Categorical Accuracy (1485)
74577103 Update (1496)
5fc7a00d Fix SpanBasedF1Measure for tags without conll labels (1491)
01ddd126 make tables nice in validation summary (1490)
ba6f3451 Crf ner tweaks (1488)
f5bbe592 Move param import (1484)
e50b1027 fine grained ner reader (1483)
d9e98610 don't call create_kwargs  for a class that has no constructor (1481)
52c08355 instantiate default activation functions in constructor (1478)
580dc8b0 (mostly) remove from_params (1191)
ff41dda4 Implementation of ESIM model (1469)
e2edc9b2 unwrap tensors in avg metric (1463)
77298a97 Fix logging of no-grad parameters. (1448)
bef52ed7 Fix call to vocab.token_from_index -> self.label_namespace (1459)
7cc3db13 fix Vocabulary.from_params to accept a dict for max_vocab_size (1460)
59ecd3b7 Fix conll2003.from_params incorrect default (1453)
f09ff87e Allow to use a different validation iterator from training iterator (1455)
a56fa40f remove RegistrableVocabulary (1454)
f136ae00 Fix a typo in embedding_tokens notebook. (1449)
d4ee5db1 Make bucket iterator respect maximum_samples_per_batch (1446)
f0ed1d45 Few feature additions (1438)
74a30d08 update the look and feel of the config explorer (1412)
fa34344b refactor iterators (1157)
43fc89ee Enables Predict to use dataset readers from models (1434)
d2e3035f enable mypy on tests (1437)
7664b121 Add support for selective finetune (freeze parameters by regex from config file) (1427)
8855042f eliminate or make private most of the new Vocabulary methods (1436)
a0c368a7 Fix an edge case for incompatible vocabulary extension. (1435)
18d4fee3 remove adaptive iterator (1433)
0312b16e Add support for configurable vocabulary extension (1416)
5d382821 Avoid non-model state in predictors (1422)
eaf5b7e1 Call  before logging to tensorboard (1423)
872acf94 Make evaluation tqdm description ignore metrics starting with _ (1430)
36d91fd1 Make tqdm description ignore metrics starting with _ (1425)
70d4d3c3 use sensible default for num_serialised_models_to_keep (1420)
9dbba338 Fix chdir in ModelTestCase breaking downstream models (1418)
1031815a duplicate config in Predictor.from_archive (1413)
2bf1e28b fix a minor typo in docstring causing wrong api usage docs of vocabulary config. (1415)
e16a6b5b Split off function to find latest checkpoint in Trainer (1414)
70b4ffb0 (jonborchardt/master) replace hocon with jsonnet (1409)
8a314940 (upstream/ratecalculus, jonborchardt/ratecalculus) Add --include-sentence-indices flag to ELMo command (1404)
4bd8e7f2 Add support for prevention of parameter initialization which match the given regexes (1405)
76deabb5 Remove frontend (1407)
6800d76a fix elmo command to use line indices and disallow empty lines (1397)
e9030189 Fix multiple GPU training after upgrading to pytorch 0.4 (1401)
db519aff Update with ./allennlp/ (1395)
3dff9c7a remove demo (1338)
6da17d67 Adds support for reading pretrained embeddings (text format) from uncompressed files and archives (1364)
5e38a081 Update Dockerfile.pip
da429d6d Update Dockerfile.pip
2b32a867 Update Dockerfile.pip
bb08b065 Add a Dockerfile for downstream usage of AllenNLP. (1389)
bab565a0 Update (1388)
3aa81e71 In get_from_cache(), allow redirections in head requests (1387)
f4d8d073 Output answers in wikitables predictor when inputs are batched (1384)
a8072394 create ccgbank dataset reader (1381)

0.5.1 insecure

numpydocs` was left out of requirements.txt and, so that `pip install allennlp` wouldn't install it and allennlp wouldn't work (unless you installed it manually). This fixes that.

0.5.0 insecure

e17cbd1 fix bug (1363)
691af4e address PR comments (1362)
d844a9a fancy version of the configuration wizard (1344)
6739c31 Make test_trainer_respects_keep_serialized_model_every_num_seconds more patient (1358)
ac2e0b9 Make optional args actually optional. (1357)
a08e7fd Move serve functionality out of allennlp command. (1317)
97484fb Faster Elmo (1347)
ca4d262 Remove norm from question / table similarity computation (1354)
2cddc69 Add ability to add tokens to vocabulary namespaces (1352)
b556e53 Format pytest logging correctly (1351)
6aaeb70 Add bilinear attention (1349)
f6d9ba3 Remove what appears to be outdated line (1348)
6c87ff5 Make vocab (1339)
0c2d5c7 config explorer webapp (1329)
b6b8955 Fix link to page (1336)
4326b59 Fix link to installation instructions (1335)
03d6fad (initializers-regularizers) command-line configuration explorer (1309)
b0d0d94 LabelField.as_tensor returns 0-tensor (1320)
765dc20 Add logging for the original path in load_archive. (1323)
8eb358b Convert to use Blueprints. (1199)
427a319 Add version to AllenNLP command. (1322)
2456983 Add option to keep Viterbi scores when predicting (1314)
62f701e Remove default arguments from the simple server. (1319)
50fcb0c how to for debugging using pycharm (1312)
cebf719 SRL elmo 5b (1310)
e37a68e Add "Citing" section to (1305)
0db4bc5 Add ELMo to BCN (1308)
097ccd7 Update torch and tensorboard versions in (1311)
26e7f41 add user contributed models blurb (1306)
5352a19 make predictors more discoverable (1302)
4849589 Script for generating logical forms from ERM model for wikitables (1247)
504964b allow sanitize to work on custom classes (1307)
200b27e A new model is only considered the best if it is better than others and not simply better or equal (1246)
ed63b7e upgrade to pytorch 0.4.0 (1126)
b26031d Ignore tests in coverage metrics (1293)
986cf17 Improve performance of attention modules (1235)
69b9af3 In Trainer, require "patience" to be a positive integer or None (meaning "no early stopping"). Set patience=None by default. (1271)
9cb0ea3 Add LICENSE to source distribution (1291)
c26a513 Noam lr schedule (1258)
59a0e5a Fix test-install by moving tests into module (1232)
c0afe31 Insteall psycopg2-binary (1286)
1f8125c (cli-params) Update the version of twine. (1285)
5c06914 Use full version in docs. (1283)
20da3fd Set long_description_content_type to markdown in (1284)
7e1080e Uptick version to unreleased. (1281)
3c623c5 Fix links to the allennlp-as-a-library tutorials (1279)

0.4.3 insecure

This is primarily a bugfix release as well as the final release on PyTorch 0.3.

* Fixes the [TQDM bug]( that was causing jobs to hang in our internal job execution framework (Beaker).

* [Moves tests]( into the source distribution, which a user needed to create a conda installation.

Here is a full list of commits:

66da4eed Update version numbers referred to in tutorials.
1c8b1492 (upstream/master, master) Fix crash when validation metric is 0 (1274)
b4c9fe41 (release-v0.4.2) Migrate gevent's wsgi to pywsgi (1272)
6b5b0172 `allennlp train` should fail faster if trainer.cuda_device >= 0 (1196)
40691d3f Fix LR scheduler and test usage inside Trainer (1255)
ed3697c3 Remove most mentions of python -m (1264)
7b9d6a25 Consolidate installation instructions (1261)
622ea1bf (origin/master, origin/HEAD) Tutorial cleanup (1260)
c2b61c60 make evalb use unique temporary directories per process (1254)
906b26f1 make it OK if serialization_dir exists but is empty (1251)
5ebe103d Add missing close brace, standardize indentation in ELMo howto (1252)
eabb37fc Output predictions in CSV format for official eval (1249)
d1c36de9 Constituency Parser Demo Reference Update (1248)
4f2db42f Replace slicing with chunk along the last dim (1244)
a4f2fb8f Cache remote datasets with fixed-length filenames (1230)
9ef013d3 Fix Constituency Parser / EVALB for pip-installed allennlp (1233)
3dcde323 Add custom extensions to distribution and install (1229)
229361c6 In train_model(), load the best weights at the end so that: (1234)
76a5a80a changed checklist cost computation (1231)
d0bd42d5 edit project root test (1227)
356829d9 Add allennlp test-install command (1213)
820cbfba gitignore EVALB generated files (1214)
3a8fdb01 Include tests in source distribution (1208)
10ea3b36 Add the attention visualization to the textual entailment demo (1219)
b71ef434 Fix for (1210)
f246da73 Add missing import to (1215)
70862e09 Make pytest_runner a conditional requirement in (1203)
10e7e99e Remove argparse from requirements (1202)
e1fdad6e Added a ConstrainedBeamSearch, switched MML to use it (1189)
7bd52cb7 Use for PyPI long description (1201)
2dda95be Changed how checklist balance is used in action prediction (1204)
1554fb03 Update test requirements in, remove pytest-pythonpath (1207)
a8f7adae Added dropout to the NLVR parser (1205)
b5af3e47 Prune finished states in ERM (1187)
77b33fb7 Add compute model number to Compile custom LSTM for Tesla V100 (1198)
63f2108e Update ELMo command help docstring (1195)
8ba58675 Added coverage to WikiTables ERM parser (1181)
69ae074e Rename tutorials so they're clearly connected. (1186)
65aecdd7 Add a tutorial for using the pre-trained models. (1182)
3add61da check for zero grads only if grad is not none (1188)
7142962d ERM parser for wikitables (1159)
c369502a Add missing --all flag to ELMo howto (1183)
ea2e431c Update
7cc4f72c Update
19980b52 Add shebang to bin/allennlp (1179)
58f90337 Clarify the ELMo readme (1167)
4f8834c7 fix comment (1171)
af283d16 hack to stop tqdm hanging (1168)
a6d4b1b7 Merge branch 'release-v0.4.2'
15f61028 bump version numbers in README
60e03e3d remove spaces in SpacyWordSplitter.batch_tokenize (1156)

0.4.2 insecure

The most immediate change is that now PyTorch is installed via `pip`, and you don't have to do it separately.   We also have new code to support a state-of-the-art NER model.

Here's the full list of commits:

d4b286c Mattp/ner (1162)
d05673a Add a default cuda_device to model. (1151)
281d032 Added two feature extractors that were in PNP and not in our version (1155)
f8d64ef add stacked bilm (1154)
f2257a6 Use separate action embeddings for prediction vs. input feeding (1153)
cc510fa Allow ablation where linking features are removed (1145)
121d3e8 unidecode in setup (1148)
55b0411 Adding ReLUs after linear projections (1150)
645379e Allow default predictors when calling programatically (1112)
6d15d17 Allow to restart with optimizers on CUDA (1144)
c684216 Streamlining the docker build a little bit (1140)
bfff55f bug fix for empty decoder outputs (1141)
b9630e6 Fix state scores in WikiTablesDecoderStep (1129)
a869e0b Move imports to inside of CACHE_MODELS=true condition (1133)
53ae735 clean EVALB via make, add to Dockerfile (1132)
812dfcf Added a script to generate data from an ERM trained model (1115)
2b81da7 Remove the KeyError catch block in the server (1130)
960f913 Adding WikiTables and NLVR predictors (1118)
7627a09 Use xavier_uniform for initializing embedding weights (1120)
0df8978 Adding the wikitables parser (1114)
f7b736c increase metrics logging precision (1113)
7dfc342 Adding NLVR model (1108)
bc8ac1a Adding WikiTables dataset reader (1106)
cbe5897 Adding NLVR dataset reader (1105)
f7924bc Adding KnowledgeGraphField and ProductionRuleField (1104)
245a9af add name argument to (1103)
2e6f2dd Adding the type system / logical form parsing code from the wikitables branch (1087)
eb81ac9 Update (1092)
1655f22 Adding the decoding framework from the wikitables branch (1086)
3ea82b1 Moving over modifications to common / util modules (1085)
f7b736c increase metrics logging precision (1113)
7dfc342 Adding NLVR model (1108)
bc8ac1a Adding WikiTables dataset reader (1106)
cbe5897 Adding NLVR dataset reader (1105)
f7924bc Adding KnowledgeGraphField and ProductionRuleField (1104)
245a9af add name argument to (1103)
2e6f2dd Adding the type system / logical form parsing code from the wikitables branch (1087)
eb81ac9 Update (1092)
1655f22 Adding the decoding framework from the wikitables branch (1086)
3ea82b1 Moving over modifications to common / util modules (1085)
78dc1df Data cleanup and additions from the wikitables branch (1084)
6829edb Move the top nav bar to the left pane. (1082)
14bb4e3 Revert "Top menu -> Left menu (1074)" (1081)
a92bf48 Top menu -> Left menu (1074)
b72c838 Adding an optional projection layer to ElmoTokenEmbedder (1076)
4c02d92 Reading glove embeddings: strip() --> rstrip() (1056)
0a918aa read vocab params in model test when available (1071)
8ddc8cb initial dry run command (1063)
da1e6f4 Update
e8e2499 install pytorch via pip (1062)
bcbc12e don't use mutable sys.stdout for both logs (1060)
ebf25ea One line update in (1059)
9299131 Add a multilabel field (1054)
db44a25 Add a get_final_encoder_states function that handles bidirectional encoders (1048)
77da425 don't allow U tags in BIO to spans, use BIOUL in SpanF1Measure (1045)
e444216 Add an ensemble model for BiDAF (1000)
a5a827e Add Biattentive Classification Network (1038)
78aa071 proper configuration of all dropout in self attention (1042)
d0bb3d2 CoNLL dataset reader that allows BIOLU tags (1041)
d57717e srl model tweaks (1040)
1700db4 Minor enhancements to seq2seq data reader (1037)
2b55bfb re-jig readme (1034)
395646a Add Stanford Sentiment Treebank dataset reader (1032)

0.4.1 insecure

496867ca add an initial string representation to fields and instances (1021)
008ceb26 Break up AWS login command in two to catch failures. (1022)
a0ced895 reset meteric when done evaluation (1020)
3ea3e64d fix logging error (1017)
ab3bd0f5 add optional exclusive start indices flag to Enpoint Extractor (1005)
f37bc6cc add some new optimisers and a cosine LR schedule (1012)
a327d03c make srl predictor more robust (1011)
5f722fcd Add .pytest_cache folder to gitignore (1006)
31f4f604 better error for gradient check (1010)
f06d62f5 readme: add port publishing for docker (1009)
760853c5 Winobias reader (968)
3c8e299a fix predictor issue for constituency parser (1004)
d351ac7e Fix simple tagger link in creating a model tutorial (1003)
1d68f889 (michael/master) add allennlp command (987)
0c532d50 use correct PTB results on demo page (990)
dc7a9d68 make hierplane div overflow so it's scrollable (989)
565b95cf (matt/master) Constituency parser demo (985)
eb794288 Change input name from "source_string" to "source" in Seq2SeqPredictor (984)
7b2e09db Fix issue 973 and add predictor for SimpleSeq2Seq (976)
40d337ea Keyboard interrupt + training admin (983)
c7a4e6d4 don't require that EVALB is compiled on instantiation (980)
5c663c45 fix span construction (975)
3d100d31 Fix max_vocab_size bug (964) (966)
18eb4218 fix sentence encoder from params (963)
9121eed6 Move --include-packages flag up to top level (962)
cc2756db Add a link to the span representations tutorial (959)
0ef211da fix online metric calculation for EVALB (956)
c84c714c use biased estimator for layernorm, fix some views in multi head attention (953)
71c80e39 Install nltk the normal way. (932)
6044cced Allow to provide a custom `Module` in `Elmo` class (945)
e6573532 add label smoothing to loss (942)
f81e27a5 get the dimensions correct for the transformer (941)
c12d4356 Automatically install spacy models, if missing (933)
cdfe9aed add ImportError to lstm import (938)
c66fac02 pos -> tag (935)
dcd6487e More parser improvements (934)
acf21a53 Fix 928 - Minor naming inconsistency in tutorial json files (929)
0cb2f606 speed up metrics (927)
394c26d8 add try except block with helpful message (923)
97bc7a2d Combined recovery logic, made it not crash on beaker (925)
de5df629 Fix random hash that's appened to git SHA (924)
b7a9784e Nested constituents (920)
085a7509 use gold pos tags for tree evaluation (921)
8b706e42 Constituency js (916)
740f4fbb Constituency Parser Predictor and tests (914)
6a108577 Constituency training pr (913)
6ad7d5bc Migrating to 0.4.0 (909)
bca992ef Fix span masking (905)
6f4de853 Update TextualEntailment text to highlight ELMo. (906)
b891d374 (log-learning-rate) Merge branch 'release-v0.4.0'
5756ff6c Span tutorial (903)

0.4.0 insecure

**New features:**

* A major feature in the 0.4 release is the inclusion of ELMo which produces contextualized word embeddings that greatly improve model performance.  You can read more in our [ELMo HowTo](
* Support for [lazy datasets](, so you can stream data through the trainer with a lower memory footprint.  This is a breaking change for some parts of the API; if you've written a `DatasetReader`, you will probably need to change a little bit of code.  The `Dataset` class is now gone.
* First-class support for models that operate on [_spans_ instead of on _tokens_](
* Support for [programmatically importing additional dependencies]( so you don't need to write your own `` script.
* A simple server to [create a stand-alone web demo]( for your model.
* Added [constrained decoding]( to the `ConditionalRandomField` module (and to the corresponding [NER tagger]( model)

**Additional [tutorials](**

* A tutorial on [writing `Predictors`]( for using `python -m predict` and for creating demos.
* Instructions for how to [visualize model internals]( in a live demo of your model, for gaining better insights about what your model is doing.
* A tutorial on [how laziness works]( in AllenNLP.

**Additional models / dataset readers:**
* A [span-based constituency parser]( that independently predicts a non-terminal label for each span in an input sentence, along with a [Penn treebank dataset reader]( that reads data for this model.  Trained model and demo coming soon.

**Minor bugfixes and features:**
* This release is compatible with pytorch 0.3.1 (and still compatible with pytorch 0.3.0).
* Made it possible to do batch tokenization with spacy inside a `DatasetReader`.
* Added a `make-vocab` command to precompute a vocabulary for a dataset.
* Added a `fine-tune` command to fine-tune a trained model on a new dataset.
* Unified handling of Ontonotes-based datasets, so it is now easier to write new `DatasetReaders` that use Ontonotes.
* `Predictors` now support non-json formats for bulk prediction.
* More flexible batching code, and bug fixes when batching / padding using `ListFields`.
* Added ability to handle different data reading configurations at train and test time.

**Breaking Changes**

This release contains several breaking changes. Please see [the migration guide]( if you have pre-0.4.0 code you need to update.

0.3.0 insecure

We updated our key dependencies to Spacy 2.0 and PyTorch 0.3, and we have a few additional models and many new features since our 0.2 release.

**Additional models**.  More details for our models are available at and you can use them interactively online at

* The baseline NER model from [Semi-supervised Sequence Tagging with Bidirectional Language Models](
* A coreference model, based on the publication [End-to-end Neural Coreference Resolution](, which achieved state-of-the-art performance in early 2017.

**Additional examples and tutorials**.  Find them at

* A tutorial on u[sing AllenNLP in your project]( as a pip dependency.
* Example code for[ training a seq2seq model](

**New features**.

* Improved SRL visualization on the demo.
* `ListField` padding fixes.

0.2.3 insecure

- Fixes bugs in stateful versions of `Seq2XXXEncoders`.
- Adds an `ArrayField` for array inputs to models.
- Uses an up to date stand-alone version of tensorboard such that you can use it inside a single environment.
- Adds the ability to read hdf5 formatted embedding matrices.
- Adds a flag to specify what `Datasets` should be used to build vocabularies in `train`.

0.2.0 insecure

The first release of AllenNLP using PyTorch.

This release of AllenNLP includes three models:

* Semantic Role Labeling (78.9 dev F1, 78.9 test F1, CoNLL 2012)
* Machine Comprehension (68.7 EM, SQuAD)
* Textual Entailment (84.7 test accuracy, SNLI)