Comments (1)
The Result type represents the result of an operation that is recorded for gradient calculation. If a function has zero gradient (i.e. no dependence on the input), it does not need to get recorded, therefore it does not create a Result. similar
is an example, so are size
, length
, eltype
etc.
Ideally this should all be transparent to the programmer. The only functions in the API open to the programmer are Param, @diff, value and grad (i.e. I should be able to change the name or fields of Result without breaking any of your code).
Type stability is a difficult topic: while running outside of a @diff context, all Params are ignored and no Results are generated eliminating most of the overhead of AutoGrad. This means the same variable could be Array during some calls and Result{Array} during others.
In your case if you want to prevent the type change inside the for loop it may be possible to do term = 0 * coef[:,ndim]
in the beginning.
from autograd.jl.
Related Issues (20)
- grad doesn't work on trivial identity HOT 6
- Copy of param is value of param HOT 3
- bug in gradient with broadcast HOT 3
- cannot take derivative of a scalar function HOT 6
- Atom canβt evaluate a line which the regular REPL can
- mapslices and Param wrapped arrays
- Extend UngetIndex to multiple indices, values for efficiency HOT 1
- Autograd.Sparse type causes regression HOT 10
- getindex gradient collection bug
- Cannot `convert` an object of type UnitRange{Int64} to an object of type Colon
- Multiple functions sharing some gradients HOT 1
- Problems with grad after grad HOT 2
- Alkan bias add problem? HOT 1
- TagBot trigger issue HOT 2
- how to calculate gradient without calculating function outputs
- keyword args in broadcasted funcs not supported
- Param(x) as AbstractArray? HOT 1
- Incorrect derivatives when new arrays are constructed in computation
- AutoGrad and CUDA kernels HOT 1
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 autograd.jl.