Comments (3)
From discussion w/ Luke: the fixtures exist because it was hard to parametrize over dtype. It also avoids instantiating a LinOp repeatedly.
from scico.
So, to summarize:
The use of fixtures is so that you can choose a dtype and instantiate test variables only once. As far as I can remember, you cant use a pytest.parameterize
on a test class __init__
method.
This isn't a big deal for the functional tests; you could certainly swap out the fixtures for parameterized tests. The fixture approach was first used in the LinOp tests because LinOp construction is rather slow, and we didn't want to be re-instantiating LinOps for each test.
I'm happy to walk through how the fixtures work if it would be helpful, or you can see here
from scico.
Moved to the internal list of long-term projects.
from scico.
Related Issues (20)
- Incorrect handling of scale in `Loss.grad` HOT 1
- Operator initialization failure
- Scaling of `FiniteDifference` linear operator broken
- Incorrect handling of functions with no return value in `scico.numpy`
- Potential issues in `scico.solver`
- Misleading extension on flax data files
- Updates to `scico.flax` needed due to changes in `orbax-checkpoint` API
- Inappropriate contstruction of `BlockArray` by `scico.numpy.ones`
- Revisit mechanism supporting math operations involving `LinearOperator` objects HOT 1
- Reduce code duplication in LinOp tests
- Problem with custom denoiser in ADMM HOT 8
- Incompatibility with most recent version of `orbax-checkpoint` HOT 1
- GitHub RST rendering appears to have changed HOT 1
- `RuntimeWarning` when using `ray`
- List submodules at top of API pages
- ADMM's CircularConvolveSolver not using all the parameters specified
- Interface to ASTRA FBP broken on GPU devices
- Apparent regression in `linop.Parallel2dProjector` HOT 1
- Test failure in `scico.jax` with latest `jax` version 0.4.29 HOT 1
- module 'scipy.linalg' has no attribute 'tril' HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scico.