{ "info": { "author": "Marcello De Bernardi", "author_email": "marcello.debernardi@stcatz.ox.ac.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Artificial Intelligence" ], "description": "# loss-landscapes\n\n`loss-landscapes` is a PyTorch library for approximating neural network loss functions, and other related metrics, \nin low-dimensional subspaces of the model's parameter space. The library makes the production of visualizations\nsuch as those seen in [Visualizing the Loss Landscape of Neural Nets](https://arxiv.org/abs/1712.09913v3) much\neasier, aiding the analysis of the geometry of neural network loss landscapes.\n\nThis library does not provide plotting facilities, letting the user define how the data should be plotted. Other\ndeep learning frameworks are not supported, though a TensorFlow version, `loss-landscapes-tf`, is planned for\na future release.\n\n**NOTE: this library is in early development. Bugs are virtually a certainty, and the API is volatile. Do not use\nthis library in production code. For prototyping and research, always use the newest version of the library.**\n\n\n## 1. What is a Loss Landscape?\nLet `L : Parameters -> Real Numbers` be a loss function, which maps a point in the model parameter space to a \nreal number. For a neural network with `n` parameters, the loss function `L` takes an `n`-dimensional input. We\ncan define the loss landscape as the set of all `n+1`-dimensional points `(param, L(param))`, for all points\n`param` in the parameter space. For example, the image below, reproduced from the paper by Li et al (2018), link\nabove, provides a visual representation of what a loss function over a two-dimensional parameter space might look \nlike:\n\n

\n\nOf course, real machine learning models have a number of parameters much greater than 2, so the parameter space of \nthe model is virtually never two-dimensional. Because we can't print visualizations in more than two dimensions, \nwe cannot hope to visualize the \"true\" shape of the loss landscape. Instead, a number of techniques\nexist for reducing the parameter space to one or two dimensions, ranging from dimensionality reduction techniques\nlike PCA, to restricting ourselves to a particular subspace of the overall parameter space. For more details,\nread Li et al's paper.\n\n\n## 2. Base Example: Supervised Loss in Parameter Subspaces\nThe simplest use case for `loss-landscapes` is to estimate the value of a supervised loss function in a subspace\nof a neural network's parameter space. The subspace in question may be a point, a line, or a plane (these subspaces\ncan be meaningfully visualized). Suppose the user has trained a supervised learning model, of type `torch.nn.Module`,\non a dataset consisting of samples `X` and labels `y`, by minimizing some loss function. The user now wishes to\nproduce a surface plot alike to the one in section 1.\n\nThis is accomplished as follows:\n\n````python\nmetric = Loss(loss_function, X, y)\nlandscape = random_plane(model, metric, normalize='filter')\n````\n\nAs seen in the example above, the two core concepts in `loss-landscapes` are _metrics_ and _parameter subspaces_. The\nlatter define the section of parameter space to be considered, while the former define what quantity is evaluated at\neach considered point in parameter space, and how it is computed. In the example above, we define a `Loss` metric\nover data `X` and labels `y`, and instruct `loss_landscape` to evaluate it in a randomly generated planar subspace.\n\nThis would return a 2-dimensional array of loss values, which the user can plot in any desirable way. Example\nvisualizations the user might use this type of data for are shown below.\n\n

\n\n

\n\nCheck the `examples` directory for `jupyter` notebooks with more in-depth examples of what is possible.\n\n\n## 3. Metrics and Custom Metrics\nThe `loss-landscapes` library can compute any quantity of interest at a collection of points in a parameter subspace,\nnot just loss. This is accomplished using a `Metric`: a callable object which applies a pre-determined function,\nsuch as a cross entropy loss with a specific set of inputs and outputs, to the model. The `loss_landscapes.model_metrics`\npackage contains a number of metrics that cover common use cases, such as `Loss` (evaluates a loss\nfunction), `LossGradient` (evaluates the gradient of the loss w.r.t. the model parameters), \n`PrincipalCurvatureEvaluator` (evaluates the principal curvatures of the loss function), and more.\n\nFurthermore, the user can add custom metrics by subclassing `Metric`. As an example, consider the library\nimplementation of `Loss`, for `torch` models:\n\n````python\nclass Metric(abc.ABC):\n \"\"\" A quantity that can be computed given a model or an agent. \"\"\"\n\n def __init__(self):\n super().__init__()\n\n @abc.abstractmethod\n def __call__(self, model_wrapper: ModelWrapper):\n pass\n\n\nclass Loss(Metric):\n \"\"\" Computes a specified loss function over specified input-output pairs. \"\"\"\n def __init__(self, loss_fn, inputs: torch.Tensor, target: torch.Tensor):\n super().__init__()\n self.loss_fn = loss_fn\n self.inputs = inputs\n self.target = target\n\n def __call__(self, model_wrapper: ModelWrapper) -> float:\n return self.loss_fn(model_wrapper.forward(self.inputs), self.target).item()\n````\n\nThe user may create custom `Metric`s in a similar manner. One complication is that the `Metric` class' \n`__call__` method is designed to take as input a `ModelWrapper` rather than a model. This class is internal\nto the library and exists to facilitate the handling of the myriad of different models a user may pass as\ninputs to a function such as `loss_landscapes.planar_interpolation()`. It is sufficient for the user to know\nthat a `ModelWrapper` is a callable object that can be used to call the model on a given input (see the `call_fn`\nargument of the `ModelInterface` class in the next section). The class also provides a `get_model()` method\nthat exposes a reference to the underlying model, should the user wish to carry out more complicated operations\non it.\n\nIn summary, the `Metric` abstraction adds a great degree of flexibility. An metric defines what quantity\ndependent on model parameters the user is interested in evaluating, and how to evaluate it. The user could define, \nfor example, a metric that computes an estimate of the expected return of a reinforcement learning agent.\n\n\n## 4. More Complex Models\nIn the general case of a simple supervised learning model, as in the sections above, client code calls functions \nsuch as `loss_landscapes.linear_interpolation` and passes as argument a PyTorch module of type `torch.nn.Module`.\n\nFor more complex cases, such as when the user wants to evaluate the loss landscape as a function of a subset of\nthe model parameters, or the expected return landscape for a RL agent, the user must specify to the `loss-landscapes`\nlibrary how to interface with the model (or the agent, on a more general level). This is accomplished using a\n`ModelWrapper` object, which hides the implementation details of the model or agent. For general use, the library\nsupplies the `GeneralModelWrapper` in the `loss_landscapes.model_interface.model_wrapper` module.\n\nAssume the user wishes to estimate the expected return of some RL agent which provides an `agent.act(observation)` \nmethod for action selection. Then, the example from section 2 becomes as follows: \n\n````python\nmetric = ExpectedReturnMetric(env, n_samples)\nagent_wrapper = GeneralModelWrapper(agent, [agent.q_function, agent.policy], lambda agent, x: agent.act(x))\nlandscape = random_plane(agent_wrapper, metric, normalize='filter')\n````\n\n\n\n## 5. WIP: Connecting Paths, Saddle Points, and Trajectory Tracking\nA number of features are currently under development, but as of yet incomplete.\n\nA number of papers in recent years have shown that loss landscapes of neural networks are dominated by a\nproliferation of saddle points, that good solutions are better described as large low-loss plateaus than as\n\"well-bottom\" points, and that for sufficiently high-dimensional networks, a low-loss path in parameter space can\nbe found between almost any arbitrary pair of minima. In the future, the `loss-landscapes` library will feature \nimplementations of algorithms for finding such low-loss connecting paths in the loss landscape, as well as tools to\nfacilitate the study of saddle points.\n\nSome sort of trajectory tracking features are also under consideration, though at the time it's unclear what this\nshould actually mean, as the optimization trajectory is implicitly tracked by the user's training loop. Any metric\nalong the optimization trajectory can be tracked with libraries such as [ignite](https://github.com/pytorch/ignite)\nfor PyTorch.\n\n\n## 6. Support for Other DL Libraries\nThe `loss-landscapes` library was initially designed to be agnostic to the DL framework in use. However, with the\nincreasing number of use cases to cover it became obvious that maintaining the original library-agnostic design\nwas adding too much complexity to the code.\n\nA TensorFlow version, `loss-landscapes-tf`, is planned for the future.\n\n\n## 7. Installation and Use\nThe package is available on PyPI. Install using `pip install loss-landscapes`. To use the library, import as follows:\n\n````python\nimport loss_landscapes\nimport loss_landscapes.metrics\n````\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/marcellodebernardi/loss-landscapes", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "loss-landscapes", "package_url": "https://pypi.org/project/loss-landscapes/", "platform": "", "project_url": "https://pypi.org/project/loss-landscapes/", "project_urls": { "Homepage": "https://github.com/marcellodebernardi/loss-landscapes" }, "release_url": "https://pypi.org/project/loss-landscapes/3.0.6/", "requires_dist": [ "numpy" ], "requires_python": ">=3.5", "summary": "A library for approximating loss landscapes in low-dimensional parameter subspaces", "version": "3.0.6" }, "last_serial": 5761636, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ceec177b63c46c2cda08966bb55ab64f", "sha256": "e1ea2a295398e668a4a65f2346b01987e8a22df81556eb415d097768e8d8a241" }, "downloads": -1, "filename": "loss_landscapes-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ceec177b63c46c2cda08966bb55ab64f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 6488, "upload_time": "2019-03-29T09:52:08", "url": "https://files.pythonhosted.org/packages/0b/ba/e9022b6f1503e41ccfd6e5aabaeba159ffddc8ba8e7d5aa6693e9ae036ab/loss_landscapes-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce52d6db91422d6c64ddad44e46e16af", "sha256": "7b6c4d95ed99fb99f9809743a3208643541487f0e780d70ba875d20da86824e6" }, "downloads": -1, "filename": "loss_landscapes-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ce52d6db91422d6c64ddad44e46e16af", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6259, "upload_time": "2019-03-29T09:52:10", "url": "https://files.pythonhosted.org/packages/0a/24/5f20daa9cab95cee63070d785f0e538a96a5df0d237cd184af9acbd66899/loss_landscapes-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d7ffe9878bdfd071e1c0a11ad6e4821d", "sha256": "983782effc27ee19c172f54022df583259a1186ea35229713e9d290663394ff6" }, "downloads": -1, "filename": "loss_landscapes-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d7ffe9878bdfd071e1c0a11ad6e4821d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 6405, "upload_time": "2019-03-29T11:12:20", "url": "https://files.pythonhosted.org/packages/72/c0/fefe5bc004a26c37205dbde79653ca010538f6445747549e88769222266c/loss_landscapes-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2a2bfbb9ef11df30704842e08083e9f", "sha256": "2333198dcaa6e5cc73c0a309e6fa13f84c2268eb1767b1a1accee70ae30173f8" }, "downloads": -1, "filename": "loss_landscapes-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b2a2bfbb9ef11df30704842e08083e9f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6165, "upload_time": "2019-03-29T11:12:22", "url": "https://files.pythonhosted.org/packages/f2/09/07806709b09048b06e6c24bcf122f5f1295d3e930731432cfbc04f5e04fa/loss_landscapes-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "be34df8dde057dde8915498e43408f7a", "sha256": "24c95fad011f01494b1be1e011499ecb88ad19e42dc526c8b48a4678ff368f50" }, "downloads": -1, "filename": "loss_landscapes-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "be34df8dde057dde8915498e43408f7a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9007, "upload_time": "2019-03-30T11:24:34", "url": "https://files.pythonhosted.org/packages/aa/a2/cb0eae1ae41d12c06d6b5c91068039b8abc9212c0563a311c2ff000cb426/loss_landscapes-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32ad0b12b46ffc98a845f9dc43e1e3d1", "sha256": "477e50fa9583d9ac1da8e0d1968c103e9edbd23b87208779a81f85f9ba17b46c" }, "downloads": -1, "filename": "loss_landscapes-0.2.0.tar.gz", "has_sig": false, "md5_digest": "32ad0b12b46ffc98a845f9dc43e1e3d1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 7292, "upload_time": "2019-03-30T11:24:35", "url": "https://files.pythonhosted.org/packages/07/e0/e789b415c83580acce9b83fef7371f6d2e6c7f2c4298dfbc22b3003188b4/loss_landscapes-0.2.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "19bbf14373976a27ef267c4a8175b037", "sha256": "e20c3edf2945cf21899845a866cfb35d225fcc3d3bcddab731de120fd4c73d93" }, "downloads": -1, "filename": "loss_landscapes-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "19bbf14373976a27ef267c4a8175b037", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 16599, "upload_time": "2019-05-15T13:18:17", "url": "https://files.pythonhosted.org/packages/37/f4/174cd6168d9851a66e3faed611fa284b0c4cf98383f4e80d933ee8aa5f0a/loss_landscapes-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7796935124aea32ead6e8e4434f6a1ec", "sha256": "a90c269625a6416e06c62aaccfe33f231a3daf47b6d4c34f245b4281f63fc534" }, "downloads": -1, "filename": "loss_landscapes-0.5.0.tar.gz", "has_sig": false, "md5_digest": "7796935124aea32ead6e8e4434f6a1ec", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9429, "upload_time": "2019-05-15T13:18:20", "url": "https://files.pythonhosted.org/packages/b8/56/9e2ebae4d9f177df698aa24451b98cbcf692eefc3573563166ce3ee51d82/loss_landscapes-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "c4fd68a9ab8aa7233abd6c130139b679", "sha256": "2b5ecfe5459da54ab9c4bba332eb0b56cf5866cca5474275272a15fba1f923e3" }, "downloads": -1, "filename": "loss_landscapes-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c4fd68a9ab8aa7233abd6c130139b679", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 16645, "upload_time": "2019-05-19T11:08:52", "url": "https://files.pythonhosted.org/packages/cb/09/ac600b9147c9d16157bc417f01ffc191216427e4630e2291d04641c2e429/loss_landscapes-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce3db8c4d6d248181b5141c8c31f27b3", "sha256": "a4430b06a4c5ed8be999c9877df09a97f298a85daf69275825aadab13cff7b6e" }, "downloads": -1, "filename": "loss_landscapes-0.5.1.tar.gz", "has_sig": false, "md5_digest": "ce3db8c4d6d248181b5141c8c31f27b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9489, "upload_time": "2019-05-19T11:08:55", "url": "https://files.pythonhosted.org/packages/87/75/e256b52233b3e26e0ab54253377813b75b63a3a94250419bb8c60837a073/loss_landscapes-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "4a78db7c20f1477996594f4e8402d72a", "sha256": "b212d29f1dfe69807ead263e8d03b73879f0b22917e5d2202325bd577f2a3e00" }, "downloads": -1, "filename": "loss_landscapes-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "4a78db7c20f1477996594f4e8402d72a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 16923, "upload_time": "2019-05-22T23:22:27", "url": "https://files.pythonhosted.org/packages/f3/6a/6ab9fd1184b834d8ad69435668e1e5548390e0db51b3b90168625b5fa7f8/loss_landscapes-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3106d30167ee742710e0268579af149c", "sha256": "3461657ccc6e75b75daa92982fb58e5496ab174102ef8f1153e3a68159d93051" }, "downloads": -1, "filename": "loss_landscapes-0.5.2.tar.gz", "has_sig": false, "md5_digest": "3106d30167ee742710e0268579af149c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9763, "upload_time": "2019-05-22T23:22:30", "url": "https://files.pythonhosted.org/packages/e8/ec/ffa7a56db04b46850f6ef3aed0405d36435cb76c00cb46881d4e842601c3/loss_landscapes-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "24633610c23ebf64ce2a37717e6be6ad", "sha256": "bf5f55c97feb179c89590adc442362c3b0ac032e17dead5ead01428d60fa30b5" }, "downloads": -1, "filename": "loss_landscapes-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "24633610c23ebf64ce2a37717e6be6ad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 16923, "upload_time": "2019-05-22T23:40:31", "url": "https://files.pythonhosted.org/packages/b0/a0/e7d77bcfcef96cfc5933e5d915135ef04dc291d9191783c51812fd55ac55/loss_landscapes-0.5.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c041db32510749441ede89e321d02e35", "sha256": "41a939e1cdac3ba35b79d0da40d17cd0a27dee454c37c8e981bd91021eb3d7f0" }, "downloads": -1, "filename": "loss_landscapes-0.5.3.tar.gz", "has_sig": false, "md5_digest": "c041db32510749441ede89e321d02e35", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9759, "upload_time": "2019-05-22T23:40:35", "url": "https://files.pythonhosted.org/packages/7e/ce/d595129ca52e85c08877a20baa54d340ff710bff576cfd8d8b157ac1dd4b/loss_landscapes-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "440466986eb07abed01265c40ba099c4", "sha256": "39177592f920da0a5b47505edd50762e917fca342e7731a8ea60da5eb5804a83" }, "downloads": -1, "filename": "loss_landscapes-0.5.4-py3-none-any.whl", "has_sig": false, "md5_digest": "440466986eb07abed01265c40ba099c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 24284, "upload_time": "2019-05-22T23:58:51", "url": "https://files.pythonhosted.org/packages/2e/60/7ac8e5e59e755c5f17cd8de3970d12b797d613360a0dcf516c84f8958ced/loss_landscapes-0.5.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08347b006c73927461c8a6733887cbc8", "sha256": "1f7916e642ba1dad8d13b2ee3710a6ef400ff12473320d07676e14c1b1bc420e" }, "downloads": -1, "filename": "loss_landscapes-0.5.4.tar.gz", "has_sig": false, "md5_digest": "08347b006c73927461c8a6733887cbc8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19300, "upload_time": "2019-05-22T23:58:53", "url": "https://files.pythonhosted.org/packages/16/4a/dd6410cf12e6ad4cca010b387f950322ea75d136b54f39edd9e7ae795e1c/loss_landscapes-0.5.4.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "639c411f25d65aca00fc159f836ad6e6", "sha256": "25bb8715cdc0a5a3f42155008588afe31b8e95e8e70da52f32ba143ecdcdee56" }, "downloads": -1, "filename": "loss_landscapes-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "639c411f25d65aca00fc159f836ad6e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 24660, "upload_time": "2019-05-25T15:13:43", "url": "https://files.pythonhosted.org/packages/74/91/352c1a9ba197003084acabc29d1e984c7de4eeed6223d17cd8fbd7f36902/loss_landscapes-0.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef5976a671c681efb8d03947585b25dc", "sha256": "5dfdddb60088bdb0024f3df4b828e55e18850f8a7c3612fd917387393986fd86" }, "downloads": -1, "filename": "loss_landscapes-0.7.0.tar.gz", "has_sig": false, "md5_digest": "ef5976a671c681efb8d03947585b25dc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19619, "upload_time": "2019-05-25T15:13:44", "url": "https://files.pythonhosted.org/packages/8b/05/1cc4749c4a6ae7aef82edda4ef4de87fbb06630483482b936d2b6c300d29/loss_landscapes-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "df6721e3b011e1f7ddc6a39b4314eefb", "sha256": "d7c93df40bb80dca3d28f9a49c32c1597071d2adb726d6b32b224a9503022cd0" }, "downloads": -1, "filename": "loss_landscapes-0.7.1-py3-none-any.whl", "has_sig": false, "md5_digest": "df6721e3b011e1f7ddc6a39b4314eefb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 28892, "upload_time": "2019-05-25T15:52:35", "url": "https://files.pythonhosted.org/packages/70/5f/5d44d697896673c25a3f0affca2c2a15aab1b3b909b17884676d3515dcfa/loss_landscapes-0.7.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06e409b3fbfc7609e288d231c7a46431", "sha256": "9fe33e7c496cb8fb2b7676ea21cce3cc2399bd66c2d6f730088298508e23f66d" }, "downloads": -1, "filename": "loss_landscapes-0.7.1.tar.gz", "has_sig": false, "md5_digest": "06e409b3fbfc7609e288d231c7a46431", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19858, "upload_time": "2019-05-25T15:52:37", "url": "https://files.pythonhosted.org/packages/e0/2b/9331296b6122e7b57f67ecebdf950e7a102f134840651e040282054142f6/loss_landscapes-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "98e57ca3f82158f28cfee82c2c54ae29", "sha256": "c42645f926d21141781ad201f43c469bd6bb3cc7a0087479caf599c5b3c7dece" }, "downloads": -1, "filename": "loss_landscapes-0.7.2-py3-none-any.whl", "has_sig": false, "md5_digest": "98e57ca3f82158f28cfee82c2c54ae29", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 29170, "upload_time": "2019-05-25T22:32:04", "url": "https://files.pythonhosted.org/packages/7f/f0/c130b6345730fa39a632469f17af1b8d1138a5a955871c1864fcafa04785/loss_landscapes-0.7.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ece7e3dc13853fe0e9b05d7dfa1f871a", "sha256": "1609ddc73ce05fcd41f263d070833cb8f2ec3b614252aac1c47ca18f4fc8eae8" }, "downloads": -1, "filename": "loss_landscapes-0.7.2.tar.gz", "has_sig": false, "md5_digest": "ece7e3dc13853fe0e9b05d7dfa1f871a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 20131, "upload_time": "2019-05-25T22:32:08", "url": "https://files.pythonhosted.org/packages/34/43/c552226c503caebef6f61c8bf98d5abb3d1123cd668feeabcc050075b6fe/loss_landscapes-0.7.2.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "de881b9af37904d94e17c42b71d1f654", "sha256": "bee183dd0dbb5f1f61395c276bb0cfcf1f73a9c4243addf85238967ecd12a621" }, "downloads": -1, "filename": "loss_landscapes-0.7.4-py3-none-any.whl", "has_sig": false, "md5_digest": "de881b9af37904d94e17c42b71d1f654", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 32873, "upload_time": "2019-06-02T19:38:15", "url": "https://files.pythonhosted.org/packages/d7/13/95791db5debd6619a69e9bc306fd8d6ba86c94430b2993ff4fdfde734d25/loss_landscapes-0.7.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87aa86b6a35f6122f205dfd6b99b355f", "sha256": "339d54e2fdd09e76bd1b2aabe8c032f6eb06692bd6101ff8866c69a8dbb20452" }, "downloads": -1, "filename": "loss_landscapes-0.7.4.tar.gz", "has_sig": false, "md5_digest": "87aa86b6a35f6122f205dfd6b99b355f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 20504, "upload_time": "2019-06-02T19:38:20", "url": "https://files.pythonhosted.org/packages/41/63/ffdb2ee8419d453759bcbbb039f1a8ad33a12aca2f047fc41d224d257826/loss_landscapes-0.7.4.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "18eb163859a8be8e16f9c9ec4882408f", "sha256": "6fea326e0848f65d07a47b224941dca282abdc03137263944f2c1e00c16d5906" }, "downloads": -1, "filename": "loss_landscapes-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "18eb163859a8be8e16f9c9ec4882408f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 48211, "upload_time": "2019-06-05T06:25:24", "url": "https://files.pythonhosted.org/packages/46/a8/24f7ff54ecb5920b67b19d902acf1ae4b576fd9cb768aff53257f5c4f849/loss_landscapes-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7ffc69e5ae202ddb1539c1c7e581a3d", "sha256": "fe38063bb365617a74e929e34875ec7edb5baa5a860bd5eb9ccc44dba6d0e719" }, "downloads": -1, "filename": "loss_landscapes-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f7ffc69e5ae202ddb1539c1c7e581a3d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19341, "upload_time": "2019-06-05T06:25:30", "url": "https://files.pythonhosted.org/packages/f6/5a/66f37419d4a5994658a2eecee4bcfeee17d1ea45b03c41d8387467b87198/loss_landscapes-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "11d1ce2419943f334e8f807ea00cb31d", "sha256": "cc646ad16db9e7c480849c3939f4e2d4b4059b2c9ede386a7d3375c304f5dd79" }, "downloads": -1, "filename": "loss_landscapes-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "11d1ce2419943f334e8f807ea00cb31d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 48275, "upload_time": "2019-06-05T07:35:34", "url": "https://files.pythonhosted.org/packages/92/5a/bb4b08b1249c04ce68d17263e1a0588bdf37e970e2a7760c5caafe82a420/loss_landscapes-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2600404c336dd1f374470f784a69e59c", "sha256": "eddc65a7af7fc836255b8b36abdd13b1067953cfffe79212a02543c61427b4ba" }, "downloads": -1, "filename": "loss_landscapes-1.0.1.tar.gz", "has_sig": false, "md5_digest": "2600404c336dd1f374470f784a69e59c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19323, "upload_time": "2019-06-05T07:35:37", "url": "https://files.pythonhosted.org/packages/ca/d3/86a02c218bc123b2ba56cb331a25be94c5e9b15d0f35f2e81d7d81c9bd39/loss_landscapes-1.0.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "4ee804b75a9f5676a2f11dd5ea9696df", "sha256": "89687f91b291d53594fe0cf96c05d4e018ed6ec6e97787a88485fad52ebd00e3" }, "downloads": -1, "filename": "loss_landscapes-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4ee804b75a9f5676a2f11dd5ea9696df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 49615, "upload_time": "2019-06-08T20:48:22", "url": "https://files.pythonhosted.org/packages/89/c9/2458b88559f8d168ebd73721838b5e544e7f229c19957b591cbe6ecb32e0/loss_landscapes-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c44831a66ca691b0cd4fa2711882d32", "sha256": "1f92aec0ad5b6ed89caecbbee75579c1021adbbbd13afef63f2d7dc54f0b6f26" }, "downloads": -1, "filename": "loss_landscapes-2.0.0.tar.gz", "has_sig": false, "md5_digest": "4c44831a66ca691b0cd4fa2711882d32", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19344, "upload_time": "2019-06-08T20:48:26", "url": "https://files.pythonhosted.org/packages/59/0f/82d72dfc64d215e70b72956c7f40ea57fb49974a134059c0ca4be6f7f9a8/loss_landscapes-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "74bf9f01c8a36fb2da813e504087f4cc", "sha256": "f4ac7b37e911289cf0c97727ef2f9ca23bc1002b033d1e37cc5e9c986d534327" }, "downloads": -1, "filename": "loss_landscapes-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "74bf9f01c8a36fb2da813e504087f4cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 49619, "upload_time": "2019-06-10T11:36:16", "url": "https://files.pythonhosted.org/packages/21/c0/73a5e8236c83471515134447f8212495512a33e3d39925101558f7dc4fae/loss_landscapes-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5db7d655584010ed87db2803a72f4c16", "sha256": "e08f4ec99dee11ae5cc17222c8ef6dddea85a89e4885a15e4333a50fd9dce118" }, "downloads": -1, "filename": "loss_landscapes-2.0.1.tar.gz", "has_sig": false, "md5_digest": "5db7d655584010ed87db2803a72f4c16", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19343, "upload_time": "2019-06-10T11:36:22", "url": "https://files.pythonhosted.org/packages/95/89/792e9a79e98a41df20275ef058133a8434128d358613f169fc08006c9b10/loss_landscapes-2.0.1.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "d2df055a3a38e468080fa569003acd20", "sha256": "e5a9aa4694ddbed3634d0ef8ec770b628748a277e3687a7cd3f680782952c21f" }, "downloads": -1, "filename": "loss_landscapes-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d2df055a3a38e468080fa569003acd20", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 50282, "upload_time": "2019-06-10T17:43:33", "url": "https://files.pythonhosted.org/packages/2f/04/7dc8537fb44160b2dbd9f3bbc8c329b3b9c0cf93bc13425c828d23818965/loss_landscapes-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d85ea937cf3679498943805e303a2fc6", "sha256": "8fef7e12a21d89f57906c933bdbe6160784a56c90c0d80638d40c3af63d7a890" }, "downloads": -1, "filename": "loss_landscapes-2.1.0.tar.gz", "has_sig": false, "md5_digest": "d85ea937cf3679498943805e303a2fc6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19596, "upload_time": "2019-06-10T17:43:39", "url": "https://files.pythonhosted.org/packages/0f/3f/66b0252b343ff1663f0078f02645f078c29ec78f5036321a7eef344feb4b/loss_landscapes-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "ad07a264f29be79cbf3d54785bf89ed5", "sha256": "5ab05ca3efa0eb569c385e983379b77eb9e148ef2132b929ff2d03fc1f639fb7" }, "downloads": -1, "filename": "loss_landscapes-2.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ad07a264f29be79cbf3d54785bf89ed5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 56482, "upload_time": "2019-06-14T11:51:49", "url": "https://files.pythonhosted.org/packages/1a/85/49b21464c2fcac537f512cda5af32358ecafc99671edbaed76b235513a0b/loss_landscapes-2.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fb876bdfae5a6845bff1ed2ef8dff3b3", "sha256": "e0faa1fc10b810c64f5db1cc56dac51587b49f7b48f0990b62dea0d722021224" }, "downloads": -1, "filename": "loss_landscapes-2.2.0.tar.gz", "has_sig": false, "md5_digest": "fb876bdfae5a6845bff1ed2ef8dff3b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19711, "upload_time": "2019-06-14T11:51:57", "url": "https://files.pythonhosted.org/packages/b0/0c/2edb2335ef03743b630ee49e272b6ec6528cb1a491ed6e4a6dd5624d92fc/loss_landscapes-2.2.0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "2c3f6a032208fc25490237667f3331df", "sha256": "1dc6168c7648b3d06cdd630ec1a2240b8e166b23bc99c4b703ed2856c7464a54" }, "downloads": -1, "filename": "loss_landscapes-2.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2c3f6a032208fc25490237667f3331df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 61419, "upload_time": "2019-06-14T12:00:39", "url": "https://files.pythonhosted.org/packages/64/20/5608f744100fba855e899eb98b9a755a0416fc8ede929b602a187e634708/loss_landscapes-2.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f1ad354317b004ebc916ee7ac8bb8fa", "sha256": "187e7f65299216b646b95fc27880c1530dded6c955f5e741ceaee642b639b1a2" }, "downloads": -1, "filename": "loss_landscapes-2.3.0.tar.gz", "has_sig": false, "md5_digest": "9f1ad354317b004ebc916ee7ac8bb8fa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19557, "upload_time": "2019-06-14T12:00:46", "url": "https://files.pythonhosted.org/packages/9b/65/f0951013ca7907d5ca58651cbac7aec5f6101d608882ac7d96836191570b/loss_landscapes-2.3.0.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "50a568fe86e7cf21aeb698ef7934536f", "sha256": "982f2cc71843c16c5ab14caa5307e1726349038fed134efd1f663909702f1bb0" }, "downloads": -1, "filename": "loss_landscapes-2.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "50a568fe86e7cf21aeb698ef7934536f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 65009, "upload_time": "2019-07-14T13:31:36", "url": "https://files.pythonhosted.org/packages/95/58/144103b8e7dcae0596fe18481f96bb9449165818dbe4d3c951fe70321019/loss_landscapes-2.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53b15a061a9517cdcc8b6e7306b54697", "sha256": "da6b4cce6ebb97101ae64602322eabbe7434203b589865504d23c5ad7926dc77" }, "downloads": -1, "filename": "loss_landscapes-2.4.0.tar.gz", "has_sig": false, "md5_digest": "53b15a061a9517cdcc8b6e7306b54697", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19942, "upload_time": "2019-07-14T13:31:38", "url": "https://files.pythonhosted.org/packages/8c/f5/dd5e7d06f1d3d4b736893ffce828eeda4123067c7ab118174cd07f185260/loss_landscapes-2.4.0.tar.gz" } ], "2.4.1": [ { "comment_text": "", "digests": { "md5": "14047b01d08f72cccb9958b81e24ec26", "sha256": "9188267935b7b720b6fc6b180e8eb15b5ecc3f85e5129024bb05bd1b9835b225" }, "downloads": -1, "filename": "loss_landscapes-2.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "14047b01d08f72cccb9958b81e24ec26", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 64996, "upload_time": "2019-07-14T17:25:33", "url": "https://files.pythonhosted.org/packages/f8/f7/c1fea3c21750979de3f8cae7786bb9437d106df0dae01c0546aac4b656de/loss_landscapes-2.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bc5105cd14b5f2168cecc76b4924ca2", "sha256": "ffaa03c21541ad5c6bb9410924fd202d40c226613cc3768b17e526e9cb6d65b5" }, "downloads": -1, "filename": "loss_landscapes-2.4.1.tar.gz", "has_sig": false, "md5_digest": "9bc5105cd14b5f2168cecc76b4924ca2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19942, "upload_time": "2019-07-14T17:25:36", "url": "https://files.pythonhosted.org/packages/f9/d8/7fbae0895a1d3c6926aeae4de7297eb0374529f753ee580a4a3291c930c2/loss_landscapes-2.4.1.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "d00c2b3811ed71359237e737601cd91b", "sha256": "448cabbd01886870567cabd2c4b40f1ece51bf06149d0f1503b6d892c23ee4e8" }, "downloads": -1, "filename": "loss_landscapes-3.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d00c2b3811ed71359237e737601cd91b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 71817, "upload_time": "2019-07-18T09:31:30", "url": "https://files.pythonhosted.org/packages/f4/5d/f59d706a5644a9ff79825dcfbe82fba201f386e368835190634435ad169f/loss_landscapes-3.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c68e07836179289054010ff6d08fb79", "sha256": "a3abfd95f80897662fc35a3734eb63d4850671333f345669b77eba5c515ddefe" }, "downloads": -1, "filename": "loss_landscapes-3.0.0.tar.gz", "has_sig": false, "md5_digest": "8c68e07836179289054010ff6d08fb79", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18305, "upload_time": "2019-07-18T09:31:41", "url": "https://files.pythonhosted.org/packages/1e/6b/ea3bc7b6af25d7ecc8c9e9051fa03d3627a9cdeec9f7fe6bb25748b34cd7/loss_landscapes-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "cecf9a9be64322a2a6f8c76cc3fe8679", "sha256": "4ff80765c0828b7b0497b0c0c53536dd345ced3329e8c663dff86004ed2106be" }, "downloads": -1, "filename": "loss_landscapes-3.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cecf9a9be64322a2a6f8c76cc3fe8679", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 71816, "upload_time": "2019-07-18T09:31:33", "url": "https://files.pythonhosted.org/packages/8c/00/300441644a79096c567e4b72758f16e591eaf6106cdc48609ce746f2bee9/loss_landscapes-3.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "21c07c4a5493d5985ad5a1b99c91b73a", "sha256": "f8ebb9fe071c613f8addf22492f68d0f23866fbe6902252c37524b8469aeb414" }, "downloads": -1, "filename": "loss_landscapes-3.0.1.tar.gz", "has_sig": false, "md5_digest": "21c07c4a5493d5985ad5a1b99c91b73a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18308, "upload_time": "2019-07-18T09:31:44", "url": "https://files.pythonhosted.org/packages/c6/50/cd4b895af06afee2d93909fc4e6c725f95972ff0b15d82c4c988cddaf856/loss_landscapes-3.0.1.tar.gz" } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "1380287824b2698840348f28e856f30c", "sha256": "341ed202b1d559b8e23e6973a86647a9ef132cd5105627b695cb166816081297" }, "downloads": -1, "filename": "loss_landscapes-3.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1380287824b2698840348f28e856f30c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 71886, "upload_time": "2019-08-30T10:40:22", "url": "https://files.pythonhosted.org/packages/8b/04/99aa49a00eaa1a2184df671e33dbe7badcfee99f4677b27b41119031a04a/loss_landscapes-3.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "053dbf0fa58be19e0da2a7cac39ff8c4", "sha256": "5666f63c46fb730ab7ee089105b86c86f9833cd3384bcaa720d946c0d7b44cec" }, "downloads": -1, "filename": "loss_landscapes-3.0.2.tar.gz", "has_sig": false, "md5_digest": "053dbf0fa58be19e0da2a7cac39ff8c4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18347, "upload_time": "2019-08-30T10:40:28", "url": "https://files.pythonhosted.org/packages/4d/d2/88acf41719b6ad111f382205265a6356e6f41e426ebad1c8db769fe601ca/loss_landscapes-3.0.2.tar.gz" } ], "3.0.3": [ { "comment_text": "", "digests": { "md5": "c3250e9147ece89a33afc59fcbffedc0", "sha256": "ae064a916c343c0bf02421ddc9005f601b7a9a4db1c7545269d5d6ea8bf46004" }, "downloads": -1, "filename": "loss_landscapes-3.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c3250e9147ece89a33afc59fcbffedc0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 71855, "upload_time": "2019-08-30T11:13:42", "url": "https://files.pythonhosted.org/packages/8b/ac/78f70cd992cdec0fac58d370fdeee82b8a2ae61db5ed4fdbe2599eed0d99/loss_landscapes-3.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5eaa0981339d36a2feeac9d5f0443aa", "sha256": "183c7270c99862b95f3515ebc7947abcd852f8122bfa566ddf33919a56798da6" }, "downloads": -1, "filename": "loss_landscapes-3.0.3.tar.gz", "has_sig": false, "md5_digest": "b5eaa0981339d36a2feeac9d5f0443aa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18318, "upload_time": "2019-08-30T11:13:49", "url": "https://files.pythonhosted.org/packages/22/79/3717b1ff64fec0b07f2c4819d950098997936719c6c52f69e40310879cdf/loss_landscapes-3.0.3.tar.gz" } ], "3.0.4": [ { "comment_text": "", "digests": { "md5": "e4162761f39574448eb0a6b085d09165", "sha256": "edefca70fa42b1836c408f9688dcb6fbeeb2f48628f45ffdac916b1c9b3c3bf0" }, "downloads": -1, "filename": "loss_landscapes-3.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e4162761f39574448eb0a6b085d09165", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 71826, "upload_time": "2019-08-30T12:10:23", "url": "https://files.pythonhosted.org/packages/68/8a/3a10306439141fb98dfc586d33046ba36980d0a3921bc74cbbb69f248ef6/loss_landscapes-3.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "953bec758087970467ba0c0da4a2c761", "sha256": "80d84f3896781463c0be9e352f848c452e01c982de40558f8a4950ea718e0fb8" }, "downloads": -1, "filename": "loss_landscapes-3.0.4.tar.gz", "has_sig": false, "md5_digest": "953bec758087970467ba0c0da4a2c761", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18313, "upload_time": "2019-08-30T12:10:30", "url": "https://files.pythonhosted.org/packages/2f/9f/dfb8f6cac98984569184b991f07870632ad6d9c84095a33c49b41391c006/loss_landscapes-3.0.4.tar.gz" } ], "3.0.5": [ { "comment_text": "", "digests": { "md5": "32c1e01f61513872192ef8ebe51298da", "sha256": "fa7d63d20b11478a1a77c58b46af7bae7892e1dc406a95ecaa5b89cc445a6e04" }, "downloads": -1, "filename": "loss_landscapes-3.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "32c1e01f61513872192ef8ebe51298da", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 71837, "upload_time": "2019-08-30T15:50:38", "url": "https://files.pythonhosted.org/packages/cc/a2/1754b58a16b3dd695557526c786a7013b995a70b1175cd0447faba7c89e7/loss_landscapes-3.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dabfc39149d257daede25feda985910e", "sha256": "7e83b13a954a52e68247094d61f96a9a47ddb3154add7cec8723a840cbb2304f" }, "downloads": -1, "filename": "loss_landscapes-3.0.5.tar.gz", "has_sig": false, "md5_digest": "dabfc39149d257daede25feda985910e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18299, "upload_time": "2019-08-30T15:50:40", "url": "https://files.pythonhosted.org/packages/0b/e5/2e4357488bcf2343f90e70faa53b08f8110c0ea20ff483ae3286ac5536be/loss_landscapes-3.0.5.tar.gz" } ], "3.0.6": [ { "comment_text": "", "digests": { "md5": "b3bfe4438c31beaf29861383bf6904a5", "sha256": "691952b8353dc3fc061de08ce759b66efbe8768fb5f9c4f8830f5a7131fc7552" }, "downloads": -1, "filename": "loss_landscapes-3.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b3bfe4438c31beaf29861383bf6904a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 72027, "upload_time": "2019-08-30T18:07:46", "url": "https://files.pythonhosted.org/packages/84/20/bfa571a797a80788101dba6b848c2b8b3c1480a40f37e52e7df983c4bc04/loss_landscapes-3.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a37edd34e66682a30be63fb712497c48", "sha256": "880c17ae77dfa9497666033a86b072e0dc19c92c7dd2ff8258c679a3b870565f" }, "downloads": -1, "filename": "loss_landscapes-3.0.6.tar.gz", "has_sig": false, "md5_digest": "a37edd34e66682a30be63fb712497c48", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18475, "upload_time": "2019-08-30T18:07:49", "url": "https://files.pythonhosted.org/packages/66/d0/549d0011eb045d57f2ff0f5cca3eb8ee9b7c0943f0e687a648acbb5a9a91/loss_landscapes-3.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b3bfe4438c31beaf29861383bf6904a5", "sha256": "691952b8353dc3fc061de08ce759b66efbe8768fb5f9c4f8830f5a7131fc7552" }, "downloads": -1, "filename": "loss_landscapes-3.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b3bfe4438c31beaf29861383bf6904a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 72027, "upload_time": "2019-08-30T18:07:46", "url": "https://files.pythonhosted.org/packages/84/20/bfa571a797a80788101dba6b848c2b8b3c1480a40f37e52e7df983c4bc04/loss_landscapes-3.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a37edd34e66682a30be63fb712497c48", "sha256": "880c17ae77dfa9497666033a86b072e0dc19c92c7dd2ff8258c679a3b870565f" }, "downloads": -1, "filename": "loss_landscapes-3.0.6.tar.gz", "has_sig": false, "md5_digest": "a37edd34e66682a30be63fb712497c48", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18475, "upload_time": "2019-08-30T18:07:49", "url": "https://files.pythonhosted.org/packages/66/d0/549d0011eb045d57f2ff0f5cca3eb8ee9b7c0943f0e687a648acbb5a9a91/loss_landscapes-3.0.6.tar.gz" } ] }