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
Add classy OSS CIFAR #206
Closed
Closed
Add classy OSS CIFAR #206
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fbshipit-source-id: b4001a6fb460b8b35bc862a5564fad55d86f5bc3
Summary: Pull Request resolved: fairinternal/ClassyVision#1 Pull Request resolved: facebookresearch/ClassyVision#1 We got approved for MIT license. Reviewed By: mannatsingh Differential Revision: D17453010 fbshipit-source-id: d6b29db5c142b9a905e821864b8fc15597f134a6
Summary: Add template files usually available in our OSS releases. Will work on updating the content from them as we go. Reviewed By: mannatsingh Differential Revision: D17454683 fbshipit-source-id: c8ea8f9b3a7f0746d73c1f2062114623d0fc2c88
Summary: Created a `multi_output_sum_loss`. It takes a registered loss's config as input and applies it to all the outputs. See the associated test for usage. This loss is supposed to replace the "sum" functionality of `sum_bce_with_logits_loss` and `sum_cross_entropy_loss` so that we don't have code duplication. The updates to these two losses will happen in a follow up diff. Reviewed By: aadcock, vreis Differential Revision: D17438898 fbshipit-source-id: 20434cfc340a29a5058b2fdd51f067aa77cb82c9
Summary: `build_criterion` now searches for a criterion in `torch.nn.modules.loss` if it is not found in the registry. This is similar to the logic used for transforms. - We don't need `sum_bce_with_logits`, `sum_cross_entropy` anymore - users can use `BCEWithLogitsLoss` and `CrossEntropyLoss` in combination with `multi_output_sum_loss` (D17438898) to get the same functionality - There was a bug wherein passing `weights` wouldn't work to the losses since `weights` is expected to be a tensor, not a list. `weights` is now updated to a tensor inside `build_criterion` - `criterions_test.py` is no longer a misnomer - it tests that `build_criterion` can build a criterion from torch correctly - Changed `sum_cross_entropy` to `CrossEntropyLoss` in all the configs I found using fbgs Reviewed By: aadcock, vreis Differential Revision: D17439082 fbshipit-source-id: b075fdbdbbc879a04fea397628385fdb0a3af5a1
Summary: Use `DataloaderLimitWrapper` in the koski on box datasets as well (`on_box_uru` and `multimodal_video`) - Instead of having Koski apply a limit, the wrapper does that for us. This will make sure we wrap around if one of the instances runs out of samples before others and the code will not stay hung - `ClassyState.num_batches_per_phase` doesn't have a special branch for these datasets anymore - The datasets use `num_samples` instead of `max_samples` like the other streaming datasets - Updated `DataloaderLimitWrapper` to pass all `getattr` / `setattr` calls to the wrapped data loader - Got rid of all the unused special methods in the datasets to simplify the code Reviewed By: aadcock Differential Revision: D17372111 fbshipit-source-id: d3e3a634eb20eb82db3dc587fab576c5cc596d30
Summary: Add basic support for packaging the project. This will be used to run ours tests with pip as well. Pull Request resolved: facebookresearch/ClassyVision#2 Test Plan: python3 setup.py sdist bdist_wheel Differential Revision: D17490325 Pulled By: vreis fbshipit-source-id: a3fe2a4cfe8b943bfc0922b1ad1eb2daa5802584
Summary: Add a configuration file for CircleCI. Not all tests are passing yet, but I'll work on fixing that in follow-up diffs. Pull Request resolved: facebookresearch/ClassyVision#3 Differential Revision: D17494024 Pulled By: vreis fbshipit-source-id: 53951f3e853c0c4ca48d3301ec9064142674f9f1
Summary: Pull Request resolved: facebookresearch/ClassyVision#4 Needed for the OSS release Reviewed By: mannatsingh Differential Revision: D17504533 fbshipit-source-id: ea2d9c9579623bc8776f89493aaaad2542351802
Summary: Pull Request resolved: facebookresearch/ClassyVision#6 I missed the test directory and files in the root directory :( Reviewed By: mannatsingh Differential Revision: D17507489 fbshipit-source-id: 0564ffa81df35443f89422fe1813d68c8682652a
Summary: In D17349805 we had introduced `DataloaderLimitWrapper`, but I forgot to scale the limit by the world size. - Added a comment about `getattr` in the `Dataset` class (it's easy to miss that there's a `__getattr__` defined which passes on the search to `self.dataset`) - Added `get_batchsize_per_replica()` and `get_global_batchsize()` to `ClassyDataset` and updated `ClassyState.get_batchsize_per_replica()` to use the dataset function - The `multimodal_video` dataset used inconsistent names for the batch size in the config and in the class which has been fixed Reviewed By: vreis Differential Revision: D17481832 fbshipit-source-id: 5642799d3b708cc0aa58d9b0279cb49590b01e88
Summary: add an utility function `is_pos_int_list` Reviewed By: mannatsingh Differential Revision: D17496207 fbshipit-source-id: 8c3e22e290fc85728208bca55dd0b1cbe0aa29c1
Reviewed By: vreis Differential Revision: D17472655 fbshipit-source-id: 087f2a3a7e66efa76723109eb41097c13ea8ef1b
Summary: Pull Request resolved: facebookresearch/ClassyVision#5 Three fixes: 1) Some tests require external dependencies (progressbar, visdom, tensorboard). For now let's just test them on the FB environment. 2) Some tests had a wrong relative imports (.generic); 3) One test was checking the exact package name of the test class. That's pretty fragile and I don't see the need for it. Reviewed By: mannatsingh Differential Revision: D17506164 fbshipit-source-id: 4e35a4c3860321d778434049cc03c28fe30e0c2d
Summary: Pull Request resolved: facebookresearch/ClassyVision#7 While moving everything to the classy_vision module I missed this file. It doesn't make sense to have it in the root directory, move it where it belongs. Reviewed By: mannatsingh Differential Revision: D17515540 fbshipit-source-id: b33ae5a04d199cbddb64838dd071ae383090d8bc
Summary: Pull Request resolved: facebookresearch/ClassyVision#8 This will make more sense after you review D17515697: I'm hiding ClassyState from the public API, but in some cases we access state.optimizer, state.model etc. This diff adds these members to ClassyTask so it can replace the state. Eventually I want to move these from the state to the task, but for now we need them in both. Reviewed By: mannatsingh Differential Revision: D17515732 fbshipit-source-id: e00820cf608dfc86a658e293e8446b6ae10b36a0
Summary: Pull Request resolved: facebookresearch/ClassyVision#9 Move things around a bit more to get closer to our goal. Introduce a ClassyTrainer.train method, which only takes a task in. The state is hidden from the public API that way. Other parameters are passed in the constructor instead. Reviewed By: mannatsingh Differential Revision: D17515697 fbshipit-source-id: 1d4163f1c49a0a29c5bbf8fc01eda88e810dbed3
Summary: Pull Request resolved: facebookresearch/ClassyVision#10 The name "optimizer_config" is confusing since it does not come from the config used to build the optimizer. I think parameters makes that purpose more clear. Reviewed By: mannatsingh Differential Revision: D17517990 fbshipit-source-id: f2906668a9ea571bc00497b5f898d14755066bd8
Summary: Pull Request resolved: facebookresearch/ClassyVision#11 We want to be able to instantiate classy abstractions without a configuration file. Instead of taking a config in the constructor for the param schedulers, make a static method to instantiate a scheduler from a config. Reviewed By: mannatsingh Differential Revision: D17518149 fbshipit-source-id: 84f8f0d4cf4fe0249c14895debf4d93d9b35b5ec
Summary: Pull Request resolved: facebookresearch/ClassyVision#12 Create a .from_config method to instantiate a criterion from a configuration dictionary. That means we can have actual arguments in the constructors, instead of passing a single config blob. Reviewed By: mannatsingh Differential Revision: D17528154 fbshipit-source-id: dd94002069d56c9933e3fb361a89b6ebcb6b9967
Summary: Pull Request resolved: facebookresearch/ClassyVision#13 Two changes: 1) Create a .from_config method to instantiate a meter from a configuration dictionary. 2) Change the build_meter API to be consistent with the other build_* APIs. That means taking a single config argument (instead of name, config); Reviewed By: mannatsingh Differential Revision: D17531961 fbshipit-source-id: 3e511615343061d7a06c1acce980c401d49c9553
Summary: we need to transfer the tensors to GPU and back when using NCCL backend. Reviewed By: mannatsingh Differential Revision: D17473796 fbshipit-source-id: d066aa79e32cb2c91927121e3e8049c53b15c4fb
Summary: Pull Request resolved: facebookresearch/ClassyVision#15 That is not being used AFAICT and it's polluting the API. Reviewed By: mannatsingh Differential Revision: D17547887 fbshipit-source-id: c5ebde37932429801f7034635dd73ee85c16a292
Summary: Pull Request resolved: facebookresearch/ClassyVision#17 The compute approximate PR curve utility in classy vision was created for a mAP meter which pre-existed classy vision. Zheng wants to reimplement the mAP meter but he found that our PR curve was different from other definitions in SKLearn in that it computed the convex hull of the PR curve (which is fine if you are choosing a threshold but not the standard for mAP). This diff converts it to use the standard PR curve (i.e. no convex hull). Reviewed By: vreis, zhengshou Differential Revision: D17584834 fbshipit-source-id: ca99ad257e82c5a0fc490d7cdec2d7ff0f5af1cd
Summary: Pull Request resolved: facebookresearch/ClassyVision#18 I was originally against a ClassyTransform abstraction, but I've come around. All other Classy things implement a from_config method, so we need a ClassyTransform as well. That gives us the flexibility of implementing transforms where the dictionary can't be mapped directly to arguments in the constructor. Reviewed By: mannatsingh Differential Revision: D17578366 fbshipit-source-id: 7cd4addc7cba79054364939947bd34f3325efc02
Summary: Pull Request resolved: facebookresearch/ClassyVision#21 In preparation to switch datasets to a .from_config constructor, make sure no datasets store the config itself as a member of the class. This makes things easier later. Reviewed By: aadcock Differential Revision: D17578858 fbshipit-source-id: 33137eee8b90e47b0bcd2a0d060ae24e927087cb
Summary: Pull Request resolved: facebookresearch/ClassyVision#22 `DenseNet.input_shape` calls `self.small_input`, which isn't defined currently. Reviewed By: vreis Differential Revision: D17628854 fbshipit-source-id: fff8b4e138ea68b2dc50ac60572dadc60b935ce2
Summary: Pull Request resolved: facebookresearch/ClassyVision#20 Implemented fine-tuning for loading state from checkpoint state and tests for it Reviewed By: mannatsingh Differential Revision: D17481209 fbshipit-source-id: 288e597f42453afd7a50ebf5e4d0508402b8ee69
Summary: Pull Request resolved: facebookresearch/ClassyVision#23 Pull Request resolved: facebookresearch/ClassyVision#16 Pull Request resolved: fairinternal/ClassyVision#2 As I tried to work on the downstream diffs some of the internal datasets which have sample fetch failures had a different API and this was causing me headaches. In particular, most of the dataset API is reimplemented for the everstore dataset (particularly the batching and transformation logic). This made the downstream work to refactor and ultimately delete this logic twice as complicated since I effectively had to do it twice (one for canonical datasets and once for the everstore datasets). This diff migrates the API for those datasets to fetch single samples and use the dataset wrappers like all of the other Classy datasets (so future migrations happen only once). This has performance implications since the original goal of separate batching logic was to issue multiple everstore requests simultaneously, so I also had to make a change to prefetch the upcoming samples to make sure performance was still good. This involved: 1. Everstore batching / transformation logic dealt with missing samples (None's), so I had to move some of that logic to the "is_not_none" filter function and add a ignore none's option to the transforms. 2. Modifying all downstream datasets (e.g. the visual relevance team's datasets, also made max_samples -> num_samples to match all other datasets) 3. Adding prefetching to the Everstore dataset for performance. 4. Found some small CLI changes to the internal benchmark to make it easier to use by displaying samples when needed. I then verified that performance was fine. The performance turned out to be faster than I measured on the previous benchmark, I'm still not sure why this is, but I added functionality to the benchmark to print out a tensor for visual inspection and the data appears to be fine. As a note, I was trying to figure out if we can switch to spawn here and ran into a host of problems which was what was blocking this work, so I will save that for a later diff. Reviewed By: vreis Differential Revision: D17266435 fbshipit-source-id: 337e8dcd4558d58fc28c5c47f99ff681addccc8b
Summary: Pull Request resolved: facebookresearch/ClassyVision#25 Remove criterion_config from ClassyTask constructor. Instead, use a set_criterion method and instantiate the criterion from the config. This looks weird now cause I haven't migrated the other modules, but eventually ClassyTask will take no arguments in the constructor and this will look like n128788. It needs to get worse before it gets better though. Reviewed By: mannatsingh Differential Revision: D17581037 fbshipit-source-id: 87c6ae9b07f3cf03b71180e0fcd56b660036948d
Summary: The docs name is used by GitHub pages Pull Request resolved: facebookresearch/ClassyVision#222 Test Plan: cd sphinx make html open _build/html/index.html Differential Revision: D18538460 Pulled By: vreis fbshipit-source-id: 6f2e4b52ee111c765ebfa3730ae758dafaea19a6
….advance_to_next_phase (#223) Summary: Pull Request resolved: facebookresearch/ClassyVision#223 Fixes the following error: ``` Traceback (most recent call last): File "/mnt/xarfuse/uid-30088/06c5bf86-seed-e9bf7d05-40b3-4736-ab2b-d32e3cfe3a16-ns-4026533627/torch/multiprocessing/spawn.py", line 19, in _wrap fn(i, *args) File "/mnt/xarfuse/uid-30088/06c5bf86-seed-e9bf7d05-40b3-4736-ab2b-d32e3cfe3a16-ns-4026533627/fblearner/flow/projects/vision/classy_vision/train_elastic.py", line 294, in flow_trainer_entry run(local_rank, *args, **kwargs) File "/mnt/xarfuse/uid-30088/06c5bf86-seed-e9bf7d05-40b3-4736-ab2b-d32e3cfe3a16-ns-4026533627/fblearner/flow/projects/vision/classy_vision/train_elastic.py", line 254, in run trainer.train(task) File "/mnt/xarfuse/uid-30088/06c5bf86-seed-e9bf7d05-40b3-4736-ab2b-d32e3cfe3a16-ns-4026533627/classy_vision/trainer/elastic_trainer.py", line 86, in train torchelastic.train(self.elastic_coordinator, elastic_train_step, state) File "/mnt/xarfuse/uid-30088/06c5bf86-seed-e9bf7d05-40b3-4736-ab2b-d32e3cfe3a16-ns-4026533627/torchelastic/train_loop.py", line 108, in train state, worker_stats = train_step(state) File "/mnt/xarfuse/uid-30088/06c5bf86-seed-e9bf7d05-40b3-4736-ab2b-d32e3cfe3a16-ns-4026533627/classy_vision/trainer/elastic_trainer.py", line 82, in elastic_train_step return self._run_step(orig_state, local_variables, self.use_gpu) File "/mnt/xarfuse/uid-30088/06c5bf86-seed-e9bf7d05-40b3-4736-ab2b-d32e3cfe3a16-ns-4026533627/classy_vision/trainer/elastic_trainer.py", line 92, in _run_step if state.task.done_training() and state.task.advance_to_next_phase: AttributeError: 'ClassyUruTask' object has no attribute 'advance_to_next_phase' Semantic Traceback (most recent call last): File "fblearner/flow/projects/vision/classy_vision/train_elastic.py", line 395, in main return plugin_main(params, None) File "fblearner/flow/projects/vision/classy_vision/train_elastic.py", line 450, in plugin_main register_plugins=register_plugins, File "fblearner/flow/projects/vision/classy_vision/train_elastic.py", line 373, in launch_one_node raise e File "/mnt/xarfuse/uid-30088/06c5bf86-seed-e9bf7d05-40b3-4736-ab2b-d32e3cfe3a16-ns-4026533627/torch/multiprocessing/spawn.py", line 171, in spawn while not spawn_context.join(): File "/mnt/xarfuse/uid-30088/06c5bf86-seed-e9bf7d05-40b3-4736-ab2b-d32e3cfe3a16-ns-4026533627/torch/multiprocessing/spawn.py", line 118, in join raise Exception(msg) ``` Reviewed By: isunjin Differential Revision: D18540804 fbshipit-source-id: 3da034c4e002307253f85b71da37a5749a4dc49a
Summary: Pull Request resolved: facebookresearch/ClassyVision#224 Differential Revision: D18543396 Pulled By: vreis fbshipit-source-id: 0949a260c5913b21b08a39e91506f54c09862f92
Summary: Pull Request resolved: facebookresearch/ClassyVision#221 Test Plan: . Differential Revision: D18533056 Pulled By: vreis fbshipit-source-id: 889d0cc6b0c99f17d11a7b38391fb99754e4dc4a
Summary: Pull Request resolved: facebookresearch/ClassyVision#225 Differential Revision: D18555420 Pulled By: vreis fbshipit-source-id: b2cf28174c0cead83c7fab757b195e100bea2c05
Summary: Pull Request resolved: facebookresearch/ClassyVision#226 Differential Revision: D18556697 Pulled By: vreis fbshipit-source-id: cc4751be0ef64b96c414dc326a20ff041f7a7024
Summary: This makes the tutorials nicer to write. Pull Request resolved: facebookresearch/ClassyVision#227 Differential Revision: D18558000 Pulled By: vreis fbshipit-source-id: ed9ed53feb25504224d9f8f1cf82489c6382e830
Summary: Pull Request resolved: facebookresearch/ClassyVision#211 Pull Request resolved: fairinternal/ClassyVision#38 Docs for our Classy OSS Trainers, also added type hints Reviewed By: vreis Differential Revision: D18496512 fbshipit-source-id: 40095abfc9db54b0c129de9dff585cbe68fd5d3e
Summary: Fixes a few small issues I found while invoking classy_train.py manually. The --config_file and --device arguments were required, but gave cryptic error messages when they were missing. Mark config_file as required and add good defaults for device. Pull Request resolved: facebookresearch/ClassyVision#184 Test Plan: . Reviewed By: aadcock Differential Revision: D18364662 Pulled By: vreis fbshipit-source-id: 735f4156553754ac5bb9705084184fb8fe116724
Summary: Pull Request resolved: facebookresearch/ClassyVision#214 Hooks should capture LR `on_update` to ensure correct LR is logged. Reviewed By: vreis Differential Revision: D18509631 fbshipit-source-id: 19af9e292d0171501c20eeb12cc09338262e9898
Summary: Pull Request resolved: facebookresearch/ClassyVision#218 `num_samples` argument is useful to limit the number of training samples we use from the dataset. But it is not effective for current video datasets such as `UCF101Dataset`. We extend TorchVision `RandomClipSampler` and `UniformClipSampler` to support `num_samples` argument. Reviewed By: aadcock Differential Revision: D18523531 fbshipit-source-id: 39bd64762c6029ad84569d0b77d89460eb064837
Summary: Pull Request resolved: facebookresearch/ClassyVision#219 Docs for OSS `ClassyTransform` class and other related classes. Reviewed By: aadcock Differential Revision: D18525226 fbshipit-source-id: 82181dfd761d8c7634f4961f1e7b7402c9f17ea2
Summary: Pull Request resolved: facebookresearch/ClassyVision#231 Docs for OSS `ClassyHook` class and other related classes. Reviewed By: vreis Differential Revision: D18574268 fbshipit-source-id: 85ec8cd96a6868244ca082e1c7a192cd6f130878
Summary: This ipython notebook presents a tutorial on how to train a video classification model from scratch. It focuses on demonstrating how to build various components in ClassyVision, such as dataset, model, and optimizer. It trains a R3D-18 model on UCF-101 dataset for a short time. Tutorial style has been made to be consistent with existing `fine_tuning.ipynb` tutorial. Reviewed By: vreis Differential Revision: D18524154 fbshipit-source-id: 27446166ee89fed9e8f05c01c51dc445c7d0815a
Summary: Pull Request resolved: facebookresearch/ClassyVision#228 Pull Request resolved: fairinternal/ClassyVision#39 Docs for classification task Reviewed By: vreis Differential Revision: D18567786 fbshipit-source-id: 006e3e5ef17bc5fea8c0e575960f9ba27a31e59f
Summary: The existing code was too slow to train on CPUs. Make a trivial linear model instead. Pull Request resolved: facebookresearch/ClassyVision#233 Differential Revision: D18583148 Pulled By: vreis fbshipit-source-id: 43b14c5eb8eadebe1d90f03909d0e44e2c713956
Summary: Pull Request resolved: facebookresearch/ClassyVision#232 Added .rst for transforms and param_schedulers to sphinx Reviewed By: vreis Differential Revision: D18578973 fbshipit-source-id: b03f1d79f1b0e3a9ec806d1c316702ab5fb51cf0
Summary: Pull Request resolved: facebookresearch/ClassyVision#236 1. Make `__init__` visible for all classes 2. Fix Small bugs in docs for dataset Reviewed By: vreis Differential Revision: D18608520 fbshipit-source-id: 3c23c4a28091076d9805cf2099d7988055fd0a10
Summary: The video tutorial was using an internal kernel, which can't be converted to HTML -- update it to a regular Jupyter notebook instead. Also add the tutorial to the json file so that it gets converted by the script that generates the website. Pull Request resolved: facebookresearch/ClassyVision#237 Differential Revision: D18610984 Pulled By: vreis fbshipit-source-id: 8b90bcc06c7bbe964c72c0c06c49e5ccb855fe97
Summary: Adds an API to load a model from a checkpoint. This will make the tutorials nicer/cleaner. Pull Request resolved: facebookresearch/ClassyVision#235 Test Plan: New unit test Differential Revision: D18609462 Pulled By: vreis fbshipit-source-id: 9a498495fbe1eeef500f79525979c7c959e0a319
Summary: I'm hitting hangs on my mac when launch classy_train.py lots of times. Sometimes it also fails to allocate a port, which is completely pointless since I'm not doing distributed training. Allow users to control what trainer to use via command line flag. Pull Request resolved: facebookresearch/ClassyVision#238 Differential Revision: D18620410 Pulled By: vreis fbshipit-source-id: f71671dda33bec1c3ce9b44f86897a128d62975a
Differential Revision: D18403673 fbshipit-source-id: 5b99eeed56b354fb8697dcf5eb23fdcb20a7dba6
Summary: Pull Request resolved: fairinternal/ClassyVision#35 Pull Request resolved: facebookresearch/ClassyVision#206 OSS Classy CIFAR. Simple wrapper around torchvision dataset. The classy dataset wrapper provides batching, transforms, shuffling, and restricting the size of the dataset. Side-effects: Changed the name of the fb internal classy vision dataset to fb_cifar* and changed all naming schemes to match this. I also added a unittest that relies on some of the torchvision testing utilities which are not packaged with torchvision...as such, I did this via a fbcode import. Differential Revision: D18429440 fbshipit-source-id: f2a0bfbec7671c415871e40a18c8187aaf5251e8
aadcock
force-pushed
the
export-D18429440
branch
from
November 21, 2019 03:46
60f1f06
to
4a0d784
Compare
This pull request was exported from Phabricator. Differential Revision: D18429440 |
This pull request was exported from Phabricator. Differential Revision: D18429440 |
facebook-github-bot
pushed a commit
that referenced
this pull request
Nov 22, 2019
Summary: Pull Request resolved: fairinternal/ClassyVision#35 Pull Request resolved: #206 OSS Classy CIFAR. Simple wrapper around torchvision dataset. The classy dataset wrapper provides batching, transforms, shuffling, and restricting the size of the dataset. Side-effects: Changed the name of the fb internal classy vision dataset to fb_cifar* and changed all naming schemes to match this. I also added a unittest that relies on some of the torchvision testing utilities which are not packaged with torchvision...as such, I did this via a fbcode import. Reviewed By: vreis Differential Revision: D18429440 fbshipit-source-id: 3ecf2ba19760e88841b08d15b121cf51444f7cb1
facebook-github-bot
pushed a commit
that referenced
this pull request
Nov 22, 2019
Summary: Pull Request resolved: fairinternal/ClassyVision#35 Pull Request resolved: #206 OSS Classy CIFAR. Simple wrapper around torchvision dataset. The classy dataset wrapper provides batching, transforms, shuffling, and restricting the size of the dataset. Side-effects: Changed the name of the fb internal classy vision dataset to fb_cifar* and changed all naming schemes to match this. I also added a unittest that relies on some of the torchvision testing utilities which are not packaged with torchvision...as such, I did this via a fbcode import. Reviewed By: vreis Differential Revision: D18429440 fbshipit-source-id: 6dbe0e8b5a6f02426599f6c7f2da25bdb881686e
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
CLA Signed
This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
fb-exported
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
OSS Classy CIFAR. Simple wrapper around torchvision dataset. The classy dataset wrapper provides batching, transforms, shuffling, and restricting the size of the dataset.
Side-effects: Changed the name of the fb internal classy vision dataset to fb_cifar* and changed all naming schemes to match this.
I also added a unittest that relies on some of the torchvision testing utilities which are not packaged with torchvision...as such, I did this via a fbcode import.
Differential Revision: D18429440