An open source Python package for plasma science that is under development

Overview

PlasmaPy

PyPI version Conda version PyPI version License

Matrix Twitter YouTube

GitHub Actions — CI weekly tests Style linters pre-commit.ci status codecov Read the Docs Status Binder

DOI astropy pre-commit Open Source Helpers

PlasmaPy is an open source, community-developed Python 3.7+ package for plasma science. PlasmaPy intends to be for plasma science what Astropy is for astronomy — a collection of functionality commonly used and shared between plasma scientists and researchers globally, running within and leveraging the open source scientific Python ecosystem. The goals of this project are more thoroughly described in this recent video. Current functionality is described in PlasmaPy's online documentation.

We created a guide on contributing to PlasmaPy and have a code of conduct. New contributors are very welcome!

Installation

If you have installed Python, you can install PlasmaPy from pip via

python -m pip install plasmapy

If you have installed conda, then you can also get PlasmaPy from

conda install -c conda-forge plasmapy

To contribute to the package, check out our instructions on installing PlasmaPy from source.

Community

Matrix chat

If you have any questions, the quickest way to get a response is to ask on our Matrix/Gitter channel. Both of these are the same chat channel; Gitter uses a bridge to link the two.

Weekly community meetings

Updated information about our community meetings can be found on plasmapy.org.

As of now, PlasmaPy hosts its weekly online community meeting every Tuesday to cover topics related to code development. This call is hosted on Zoom.

The schedule of our community meetings is on our calendar, and you may access the minutes and agendas. Any last minute changes will be discussed on Matrix. As of November 2021, our meetings are on Tuesdays at 19:00 UTC. Come discuss plasma software with us!

Weekly office hours

PlasmaPy's weekly office hours on Thursdays at 19:00 UTC are an opportunity to chat with active members of the PlasmaPy community about the package and project.

GitHub discussions

We're now trying out GitHub discussions for more varied topics that aren't exactly issues with the existing code base. It's a great place to suggest ideas, bring up discussion topics, and ask questions.

Mailing list

You can subscribe to our low-volume mailing list to receive PlasmaPy newsletters and other announcements.

Suggestion box

We have a suggestion box if you would like to (optionally anonymously) suggest a feature/topic for consideration. These will be reposted on the mailing list or directly in GitHub issues, as appropriate, for further discussion.

License

PlasmaPy is permissively licensed under a 3-clause BSD license with added protections against software patents.

Citing PlasmaPy

An emerging best practice for software citation is to cite the specific version of each software package used in a research project (instead of only citing a journal article, website, or GitHub repository). The citation should include a persistent identifier that uniquely identifies which version of the software was used. We therefore ask that you cite the specific version of PlasmaPy used in your research project. Releases of PlasmaPy are available in the PlasmaPy community on Zenodo, along with many other PlasmaPy resources. Please check our documentation for more detailed citation instructions.

Acknowledgements

Early development on PlasmaPy was supported in part by the U.S. Department of Energy, the Smithsonian Institution, and Google Summer of Code. Ongoing PlasmaPy development is being supported through a collaborative award from the U.S. National Science Foundation's Cyberinfrastructure for Sustained Scientific Innovation program and a NASA Heliophysics Data Environment Enhancements award.

Comments
  • Transport eqs

    Transport eqs

    Addresses #35 Adds coupling parameter for #49 Heavily expands Coulomb logarithm for #154

    Adding a bunch of transport functionality and re-arranging some functions within transport.py. Much of the additions are based off of Gericke, Murillo, and Schlanges (2002) for extending Coulomb logarithm to the dense plasma case where quantum effects become important. To that end, I am also adding a coupling parameter function, which is handy for determining which regime a plasma is in. The coupling parameter itself is quite involve and requires things like: ideal chemical potential, Fermi integral, polylogarithms.

    I am also adding functions for collision frequency and mean free path (which I believe I wrote based off of F. F. Chen's book).

    Transport 
    opened by lemmatum 91
  • Charged Particle Radiography: Detector Stacks

    Charged Particle Radiography: Detector Stacks

    Charged particle radiography detectors are usually comprised of multiple layers of active medium, each of which detects different energies of particles based on their Bragg peak. This PR adds a couple objects that represent these detector stacks and calculates the energies deposited in each layer using stopping power data from NIST.

    This is Step 1 of adding support for detector stacks. Step 2, in a future PR, will create a new synthetic_radiograph function that takes a film stack object and produces a synthetic radiograph in each layer.

    ~~This PR depends on #1486 and should be merged after that PR~~ Done

    Status: ready for review Diagnostics Notebooks 
    opened by pheuer 54
  • Thomson Scattering Module Initial Commit

    Thomson Scattering Module Initial Commit

    This PR adds a file plasmapy/diagnostics/thomson.py which contain a code for simulating Thomson scattering spectra for Maxwellian plasmas in both the collective and non-collective regimes.

    An associated file of tests is also added: plasmapy/diagnostics/tests/test_thomson.py. This file contains two tests that run the program in two regimes (collective and non-collective) and make sure the results match their current output values.

    Diagnostics Needs change log entry 
    opened by pheuer 53
  • Braginskii

    Braginskii

    Working on Issue #35 . I've put in some functionality and done some preliminary checks and tests. Definitely still a work in progress, needs tests and documentation and then is going to need some ruthless refactoring. Oh shoot, and the PEP8 checking-thing is going to have a fit.

    Documentation Formulary Transport 
    opened by samurai688 51
  • Move fundamental collision frequencies to `MaxwellianCollisionFrequencies`

    Move fundamental collision frequencies to `MaxwellianCollisionFrequencies`

    Resolves #1699

    This pull request moves plasmapy.formulary.collisons.fundamental_ion_collision_freq and plasmapy.formulary.collisons.fundamental_electron_collision_freq to CollisionFrequencies.

    • [x] I have added a changelog entry for this pull request.
    • [x] If adding new functionality, I have added tests and docstrings.
    • [x] I have fixed any newly failing tests.
    Formulary Utilities Breaking 
    opened by JaydenR2305 45
  • Issue #759 Serializing and Deserializing particles

    Issue #759 Serializing and Deserializing particles

    Related to Issue #759 Extension on to functionality introduced in PR #833

    This introduces the from_json method for the Particle, CustomParticle, and DimensionlessParticle classes that converts from a JSON representation to the appropriate particle object.

    • [x] I have added a changelog entry for this pull request (please see changelog/README.rst for instructions, and if you need help with picking the PR type, ask!)
    • [x] If adding new functionality, I have added (passing) tests and docstrings. (Tests pop up at the bottom, in the checks box).
    • [x] I have fixed any new failing tests (if you're unsure why they're failing, ask!).

    Suggestions and advice is appreciated :)

    Thank you!

    Particles 
    opened by DarkAEther 44
  • Fitting Thomson Scattering Spectra

    Fitting Thomson Scattering Spectra

    The use of Thomson scattering as a diagnostic depends on the ability to extract plasma parameters (eg. density, temperature, flow velocity) from scattered light spectra. One of the design uses for the diagnostics.thomson.spectral_density function would be as part of a fit function to curve fit experimental data to extract these parameters. As such, I've received requests to develop a function for fitting TS data.

    This function provides a lmfit.Model function (thomson.thomson_model) with which the user can apply any of the lmfit fitting algorithms and other features to Thomson scattering data. The example notebook exhibits in detail how this is done.

    ** EDIT **

    This PR was starting to get big, so I've restricted its scope thus:

    This PR

    • Basic Thomson fitting lmfit model function.
    • Changes to thomson.spectral_density necessary to make the fitting work.
    • One example notebook that demonstrates fitting
    • Minor easy speed improvements.

    Future PRs

    • Optimize thomson.spectral_density and sub-functions to make the fitting algorithm fast enough for research (#1085)
    • Create a function that estimates the errors in a Thomson fit (or maybe more generally in an lmfit result?). PR to come
    Diagnostics Notebooks Breaking 
    opened by pheuer 40
  • Implement a dispersion relation solver

    Implement a dispersion relation solver

    When dealing with plasma waves, it would be helpful to have a dispersion relation solver.

    This was recommended by John Raymond. I believe Carl Sovinec wrote a code that this several years ago, though not in python.

    Formulary Effort: very high Needs subject matter expert 
    opened by namurphy 38
  • Grids

    Grids

    This PR creates a new sets of objects within the 'plasmapy.plasma' package:

    Child classes of 'grids.AbstractGrid' represent 3D grids of positions in various coordinate systems. Further subclasses can provide special types of grids - for example 'IrregularCartesianGrid' is a non-uniformly spaced Cartesian grid for testing post-processing scripts meant for irregularly gridded simulation outputs.

    This PR originated as part of the proton radiography module (PR #895 ) and must be merged before that module can be finalized. In the meantime, that PR serves as an example of one usecase for these objects. The same grid objects could potentially also be useful input forms for simulations, etc.

    • [x] Add methods for calculating volume-averaging values over the grid at a position (at least for CartesianGrid with uniform spacing...)
    Plasma class 
    opened by pheuer 37
  • Fix Volume Weighted Interpolator in CartesianGrid class (grids.py)

    Fix Volume Weighted Interpolator in CartesianGrid class (grids.py)

    I realized the current volume weighted interpolator in grids.CartesianGrid was incorrect. This PR fixes that.

    Here's an example of the old interpolator: the linear interpolation between data points is backwards! image

    And here it is with the corrected algorithm image

    I haven't yet found a good implementation of this algorithm to copy, so my code probably isn't the most efficient. The diagram below shows the idea in 2D

    image

    The particle position "p" is surrounded by a box of size dx * dy. The four surrounding grid points are similarly surrounded. The weight for the field from each grid point is then the area (volume in 3D) of the overlap between the particle box and the box for each grid point.

    Plasma class Diagnostics Breaking 
    opened by pheuer 36
  • Proton Radiography Module

    Proton Radiography Module

    Proton radiography is an increasingly common diagnostic technique used to interrogate the electric and magnetic fields inside high energy density plasmas. The plasma of interest is positioned between a bright pulsed source of protons and a detector plane. Electric and magnetic fields in the plasma deflect the protons, producing patterns on the detector. Since this represents a non-linear and line-integrated measurement of the fields, the interpretation of these "proton radiographs" is a complicated business. The goal of this module is to provide tools for planning these experiments and analyzing their results.

    Eventually, this new module should contain two type different types of functions:

    1. Functions that construct synthetic proton radiographs given simulated or calculated fields, either for planning an experiment or analyzing the results of one.

    2. Functions that use assumptions about symmetries etc. to "invert" experimental radiographs to recover the magnitudes of the fields that created them.

    The SyntheticProtonRadiograph object contained in this initial PR belongs to the first category. The SyntheticProtonRadiograph object is initialized with a plasmapy.plasma.grid.AbstractGrid subclass containing electric and magnetic fields, as well as the locations of the proton source and detector. A particle tracing algorithm is then run to determine the trajectories of the protons, and the resulting positions in the detector plane are used to create a synthetic radiograph (2D histogram).

    This function can currently support field data on either regular or non-uniform (although the former is much faster) to support complicated simulation meshes. Time steps are computed in an adaptive manner based on both the fields currently experienced by the particles and the grid resolution. Source and detector positions can be specified anywhere in Cartesian, cylindrical, or spherical coordinates systems to re-create geometric effects.

    The example fields generated within the function for testing and demonstration are intentionally simple, but this technique can re-create complicated structures, such as this off-axis radiograph of a cylindrical, radial electric field:

    SimPrad

    Diagnostics 
    opened by pheuer 36
  • [DRAFT] Add Particle scattering and stopping to the charged particle radiography class

    [DRAFT] Add Particle scattering and stopping to the charged particle radiography class

    This PR adds particle scattering and stopping in dense matter to the charged particle radiography Tracker class. This capability is important for charged particle radiography in dense plasmas where these effects significantly affect the radiograph.

    Builds on #1799, so merge that first.

    Note: should compare this implementation of scattering + stopping to the MPRAD code described here: https://aip.scitation.org/doi/full/10.1063/1.5123392

    Replaces a previous PR (#1802) because I needed to completely refactor after #1799

    opened by pheuer 3
  • Change signature of `CustomParticle` and improve |ParticleList| compatibility with |Quantity| objects

    Change signature of `CustomParticle` and improve |ParticleList| compatibility with |Quantity| objects

    This PR makes the following changes:

    • Changed the signature of CustomParticle to CustomParticle(*quantities, ...), where quantities can include Quantity objects of physical type mass or charge, or (as its last item) the symbol. See #1873 for some motivation and follow-up discussion. This is a follow-up attempt to do more or less the same thing as #1364, which didn't get merged. Closes #1873.
    • Fixed a new edge case in the particle factory function by assuming that a string passed as the first positional argument to it is meant for Particle and not as a symbol for CustomParticle.
    • Made ParticleList.__init__ accept an iterable containing Quantity objects. Closes #1872.
    • Made ParticleList methods accept Quantity objects of mass or electrical charge.

    The changes to CustomParticle made the changes to ParticleList pretty straightforward to implement, so I addressed them here.

    This PR should make it easier to address #1869 and #1871.

    Particles Status: in progress 
    opened by namurphy 3
  • Improve flexibility of `Quantity` arguments provided  to `CustomParticle`

    Improve flexibility of `Quantity` arguments provided to `CustomParticle`

    Feature description

    I'd like it to be possible to put the mass and charge of a CustomParticle in either order as positional arguments. For example, I would like to be able to do:

    >>> CustomParticle(1 * u.C)
    >>> CustomParticle(1 * u.kg)
    >>> CustomParticle(1 * u.kg, 1 * u.C)
    >>> CustomParticle(1 * u.C, 1 * u.kg)
    

    Motivation

    While working on #1871 and #1872, I've been having to do a bunch of special handling for when the input to CustomParticle is a charge or a mass, including when writing tests. Code downstream of CustomParticle will be cleaner if we have this flexibility.

    Implementation strategy

    Right now the signature of CustomParticle.__init__ is:

    def __init__(self, mass: u.kg = None, charge: (u.C, Real) = None, symbol=None):
    

    I'd like to be able to do CustomParticle(1e-27 * u.kg) or CustomParticle(1e-18 * u.C), which would correspond to a signature like:

    def __init__(self, *quantities, symbol=None):
    

    This change would lead to breaking changes, so we might want to retain mass and charge as keyword arguments, even if we deprecate them. We could perhaps even make it so that if a string is provided in quantities, it would get interpreted as the symbol (though quantities might not be the best name in that case).

    Additional context

    This is inspired by #1364 and discussed further in #1872. This should be addressed after #1866 is merged since they're both working on the same section of code.

    Feature request 
    opened by namurphy 3
  • Make `ParticleList` compatible with `Quantity` objects with physical type of mass or electrical charge

    Make `ParticleList` compatible with `Quantity` objects with physical type of mass or electrical charge

    Feature description

    Right now if we try to create a ParticleList using a Quantity array, we get an InvalidParticleError:

    >>> import astropy.units as u
    >>> ParticleList([5, 6] * u.kg)
    plasmapy.particles.exceptions.InvalidParticleError: The object 5.0 kg supplied to ParticleList is not a particle-like object.
    

    What I'd like to happen is for a CustomParticle to be created based on each element of the Quantity array, i.e.:

    >>> ParticleList([5, 6] * u.kg)
    ParticleList(['CustomParticle(mass=5.0 kg, charge=nan C)', 'CustomParticle(mass=6.0 kg, charge=nan C)'])
    

    Motivation

    As part of the refactoring of particle_input in #1057, we're making it so that a Quantity of physical type mass or electrical charge will be used to construct a CustomParticle instance. I discovered in #1871 that ParticleList works for Quantity non-arrays but not for Quantity arrays. The code downstream of ParticleList will be cleaner and have fewer special cases to handle if ParticleList can handle Quantity iterables of these physical types.

    Implementation strategy

    We'll need to make these changes to not only ParticleList.__init__, but also the append, extend, and insert methods.

    There's some repeated code in these methods, so it might be worth creating a private function that does the particleification or particlizing.

    Additional context

    Implementing this would probably be cleaner by allowing mass and charge as positional arguments in either order in CustomParticle, kind of like what I attempted in #1364, but maybe having a signature like CustomParticle(*quantities, mass: Optional[u.kg] = None, charge=Optional[u.C] = None, symbol: Optional[str]=None).

    Feature request 
    opened by namurphy 2
  • Update relativistic functionality

    Update relativistic functionality

    Description

    • Applied particle_input to relativistic_energy and RelativisticBody
    • Updated docstrings
    • Changed the parameters provided to relativistic_energy:
      • Changed m to particle
      • Changed v to V This would be a breaking change; however, when provided as positional arguments, the change would be transparent. In particular, particle_input would create a CustomParticle from a Quantity for mass.

    Motivation and context

    The goals here are

    • To further implement particle_input in plasmapy.formulary for more compatibility with ParticleList and CustomParticle objects.
    • To improve consistency with function signatures. For example, we mostly use V instead of v to describe velocity, and it helps to be consistent.

    I'm wondering if it would be worth having a deprecation warning for this and still accept the old parameters as keywords, but relativistic_energy might not be widely used enough to warrant the extra complexity this would entail.

    Related issues

    This is approximately 4% of #341!

    Formulary Status: on hold 
    opened by namurphy 3
  • Create a decorator to track relevant citations

    Create a decorator to track relevant citations

    Feature description

    A decorator that attaches references (as BibTex entries?) to objects in PlasmaPy. A helper function would then exist that, given a list of functions, would assemble a list of references (recursively) for that object.

    For example, if the user's code relies on X, but X relies on Y and Z, then the reference manager should return the references associated with all three, perhaps saved as output to a text file that can be directly copied in to Bibtex.

    The helper function could also (maybe by setting a keyword?) include citations for other packages used within the PlasmaPy functionality (e.g. scipy, numpy, etc.)

    Inspired by: https://github.com/duecredit/duecredit

    Motivation

    • Provides a natural place to record relevant references in the code, and consequently adding and updating these references would be covered by the existing code review process.
    • Encourage citation of software!

    Implementation strategy

    See feature description

    Additional context

    No response

    Feature request 
    opened by pheuer 3
Releases(v0.9.1)
  • v0.9.1(Nov 15, 2022)

  • v0.9.0(Nov 11, 2022)

    You can find the full changelog for this release at https://github.com/PlasmaPy/PlasmaPy/blob/v0.9.x/docs/whatsnew/0.9.0.rst .

    New Contributors

    • @MKastek made their first contribution in https://github.com/PlasmaPy/PlasmaPy/pull/1556
    • @JaydenR2305 made their first contribution in https://github.com/PlasmaPy/PlasmaPy/pull/1664
    • @TrestanSimon made their first contribution in https://github.com/PlasmaPy/PlasmaPy/pull/1681
    • @elliotwutingfeng made their first contribution in https://github.com/PlasmaPy/PlasmaPy/pull/1764
    Source code(tar.gz)
    Source code(zip)
  • v0.8.1(Jul 5, 2022)

    Plasmapy v0.8.1 (2022-07-05)

    This release of PlasmaPy includes 158 pull requests closing 60 issues by 37 people, of which 31 are new contributors.

    The people who have contributed to the code for this release are:

    • Afzal Rao*
    • Alexis Jeandet*
    • Andrew Sheng*
    • Anna Lanteri*
    • Chris Hoang*
    • Christopher Arran*
    • Chun Hei Yip*
    • Dominik Stańczak
    • Elliot Johnson*
    • Erik Everson
    • flaixman*
    • Haman Bagherianlemraski*
    • Isaias McHardy*
    • itsraashi*
    • James Kent*
    • Joao Victor Martinelli*
    • Leo Murphy*
    • Luciano Silvestri*
    • Mahima Pannala*
    • Marco Gorelli*
    • Nick Murphy
    • Nicolas Lequette
    • Nikita Smirnov*
    • Peter Heuer
    • Pey Lian Lim*
    • Rajagopalan Gangadharan*
    • Raymon Skjørten Hansen*
    • Reynaldo Rojas Zelaya*
    • Riley Britten*
    • sandshrew118*
    • seanjunheng2*
    • Shane Brown*
    • Suzanne Nie*
    • Terrance Takho Lee*
    • Tien Vo*
    • Tiger Du
    • Tomás Stinson*

    An asterisk indicates that this release contains their first contribution to PlasmaPy.

    The changelog for this release can be found at our docs page.

    Source code(tar.gz)
    Source code(zip)
  • v0.7.0(Nov 18, 2021)

    Plasmapy v0.7.0 (2021-11-18)

    This release of PlasmaPy contains 127 commits in 73 merged pull requests closing 37 issues from 19 people, 14 of which are first-time contributors to PlasmaPy.

    • 127 commits have been added since 0.6
    • 37 issues have been closed since 0.6
    • 73 pull requests have been merged since 0.6
    • 19 people have contributed since 0.6
    • 14 of which are new contributors

    The people who have contributed to the code for this release are:

    • Alf Köhn-Seemann *
    • Andrew *
    • Armando Salcido *
    • Dominik Stańczak
    • FinMacDov *
    • Marco Gorelli *
    • Nick Murphy
    • Nicolas Lequette *
    • Peter Heuer
    • Quettle *
    • RAJAGOPALAN-GANGADHARAN *
    • Sjbrownian *
    • Tiger Du
    • Tomás Stinson *
    • bryancfoo *
    • dependabot[bot] *
    • haman80 *
    • pre-commit-ci[bot] *
    • rocco8773

    Where a * indicates that this release contains their first contribution to PlasmaPy.

    The changelog for this release can be found at our docs page.

    Source code(tar.gz)
    Source code(zip)
    plasmapy-0.7.0-py3-none-any.whl(8.25 MB)
    plasmapy-0.7.0.tar.gz(10.77 MB)
Owner
PlasmaPy
PlasmaPy will be a community developed package for plasma physics
PlasmaPy
Official repository of the AAAI'2022 paper "Contrast and Generation Make BART a Good Dialogue Emotion Recognizer"

CoG-BART Contrast and Generation Make BART a Good Dialogue Emotion Recognizer Quick Start: To run the model on test sets of four datasets, Download th

39 Dec 24, 2022
Arabic Car License Recognition. A solution to the kaggle competition Machathon 3.0.

Transformers Arabic licence plate recognition 🚗 Solution to the kaggle competition Machathon 3.0. Ranked in the top 6️⃣ at the final evaluation phase

Noran Hany 17 Dec 04, 2022
Code and experiments for "Deep Neural Networks for Rank Consistent Ordinal Regression based on Conditional Probabilities"

corn-ordinal-neuralnet This repository contains the orginal model code and experiment logs for the paper "Deep Neural Networks for Rank Consistent Ord

Raschka Research Group 14 Dec 27, 2022
Trained on Simulated Data, Tested in the Real World

Trained on Simulated Data, Tested in the Real World

livox 43 Nov 18, 2022
Scripts and misc. stuff related to the PortSwigger Web Academy

PortSwigger Web Academy Notes Mostly scripts to automate the exploits. Going in the order of the recomended learning path - starting with SQLi. Commun

pageinsec 17 Dec 30, 2022
Python library for computer vision labeling tasks. The core functionality is to translate bounding box annotations between different formats-for example, from coco to yolo.

PyLabel pip install pylabel PyLabel is a Python package to help you prepare image datasets for computer vision models including PyTorch and YOLOv5. I

PyLabel Project 176 Jan 01, 2023
Blender Add-On for slicing meshes with planes

MeshSlicer Blender Add-On for slicing meshes with multiple overlapping planes at once. This is a simple Blender addon to slice a silmple mesh with mul

52 Dec 12, 2022
PyTorch DepthNet Training on Still Box dataset

DepthNet training on Still Box Project page This code can replicate the results of our paper that was published in UAVg-17. If you use this repo in yo

Clément Pinard 115 Nov 21, 2022
(ICCV 2021) ProHMR - Probabilistic Modeling for Human Mesh Recovery

ProHMR - Probabilistic Modeling for Human Mesh Recovery Code repository for the paper: Probabilistic Modeling for Human Mesh Recovery Nikos Kolotouros

Nikos Kolotouros 209 Dec 13, 2022
Implicit Deep Adaptive Design (iDAD)

Implicit Deep Adaptive Design (iDAD) This code supports the NeurIPS paper 'Implicit Deep Adaptive Design: Policy-Based Experimental Design without Lik

Desi 12 Aug 14, 2022
Image Super-Resolution Using Very Deep Residual Channel Attention Networks

Image Super-Resolution Using Very Deep Residual Channel Attention Networks

kongdebug 14 Oct 14, 2022
An easy way to build PyTorch datasets. Modularly build datasets and automatically cache processed results

EasyDatas An easy way to build PyTorch datasets. Modularly build datasets and automatically cache processed results Installation pip install git+https

Ximing Yang 4 Dec 14, 2021
Simulated garment dataset for virtual try-on

Simulated garment dataset for virtual try-on This repository contains the dataset used in the following papers: Self-Supervised Collision Handling via

33 Dec 20, 2022
ACL'2021: LM-BFF: Better Few-shot Fine-tuning of Language Models

LM-BFF (Better Few-shot Fine-tuning of Language Models) This is the implementation of the paper Making Pre-trained Language Models Better Few-shot Lea

Princeton Natural Language Processing 607 Jan 07, 2023
A standard framework for modelling Deep Learning Models for tabular data

PyTorch Tabular aims to make Deep Learning with Tabular data easy and accessible to real-world cases and research alike.

801 Jan 08, 2023
This is the PyTorch implementation of GANs N’ Roses: Stable, Controllable, Diverse Image to Image Translation

Official PyTorch repo for GAN's N' Roses. Diverse im2im and vid2vid selfie to anime translation.

1.1k Jan 01, 2023
A Survey on Deep Learning Technique for Video Segmentation

A Survey on Deep Learning Technique for Video Segmentation A Survey on Deep Learning Technique for Video Segmentation Wenguan Wang, Tianfei Zhou, Fati

Tianfei Zhou 112 Dec 12, 2022
Implementation of CVAE. Trained CVAE on faces from UTKFace Dataset to produce synthetic faces with a given degree of happiness/smileyness.

Conditional Smiles! (SmileCVAE) About Implementation of AE, VAE and CVAE. Trained CVAE on faces from UTKFace Dataset. Using an encoding of the Smile-s

Raúl Ortega 3 Jan 09, 2022
Implementation of ViViT: A Video Vision Transformer

ViViT: A Video Vision Transformer Unofficial implementation of ViViT: A Video Vision Transformer. Notes: This is in WIP. Model 2 is implemented, Model

Rishikesh (ऋषिकेश) 297 Jan 06, 2023