Do dlgradient and dlfeval have to be used together?

1 Ansicht (letzte 30 Tage)
cui,xingxing
cui,xingxing am 6 Jan. 2020
Kommentiert: hang Jiang am 29 Sep. 2021
Do dlgradient and dlfeval have to be used together?
function [y,dydx] = rosenbrock(x)
y = 100*(x(2) - x(1).^2).^2 + (1 - x(1)).^2;
dydx = dlgradient(y,x);
end
[y,dydx] = rosenbrock([1,2]),
get error??? Value to differentiate must be a traced dlarray scalar.
Can't it be as convenient as pytorch?”a traced dlarray scalar.“ not clear!!!

Antworten (2)

KALYAN ACHARJYA
KALYAN ACHARJYA am 6 Jan. 2020
Bearbeitet: KALYAN ACHARJYA am 6 Jan. 2020
x=[1,2];
[y,dydx]=rosenbrock(x);
  1 Kommentar
cui,xingxing
cui,xingxing am 7 Jan. 2020
Undefined function 'dlgradient' for input arguments of type 'double'.
should type "dlarray"

Melden Sie sich an, um zu kommentieren.


cui,xingxing
cui,xingxing am 7 Jan. 2020
Bearbeitet: cui,xingxing am 7 Jan. 2020
but i input like this in command window , is OK ,why???
[fval,gradval] = dlfeval(@rosenbrock,dlarray([1,2]))
fval =
1×1 dlarray
100
gradval =
1×2 dlarray
-400 200
  1 Kommentar
hang Jiang
hang Jiang am 29 Sep. 2021
try:
x=dlarray(x);
dlarray(y)=100*(x(2)-x(1).^2).^2+(1-x(1)).^2;

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by