Dies ist der Artikel am 6. Tag des Adventskalenders für IT-Ingenieure der Hiroshima-Universität 2019.
Ich bin Yuto Araki, ein Student im 4. Jahr an der Fakultät für Ingenieurwissenschaften der Hiroshima-Universität! Ich werde ab nächstem Jahr IT-Ingenieur in Fukuoka sein! Ich mache Twitter mit dem Handle-Namen Imikoto, also überprüfen Sie das bitte auch. (https://twitter.com/es__135 )
python
import numpy as np
import theano.tensor as T
from theano import function
x = T.dscalar('x')
y = T.dscalar('y')
z = x + y
f = function([x,y],z)
f(2,3) #array(5.)Wird ausgegeben.
(Zitiert aus http://deeplearning.net/software/theano/tutorial/adding.html#exercise)
Definieren Sie die in der folgenden Funktion verwendeten Variablen in den Zeilen 5 und 6 und erstellen Sie die Funktion in den Zeilen 7 und 8. Es mag etwas seltsam erscheinen, bevor Sie sich daran gewöhnen, aber sobald Sie sich daran gewöhnt haben, wird es einfacher, zu schreiben.
Schreiben wir den Drei-Quadrat-Satz, indem wir dies anwenden.
x = T.dscalar('x')
y = T.dscalar('y')
Pythagoras = ( x**2 + y**2 )**(1/2)
length = function([x,y],Pythagoras)
length(3,4) #5.0 wird ausgegeben.
Weitere Informationen finden Sie in Wikipedia. Sie können jedoch das Differential der definierten Funktion berechnen.
x = T.dscalar('x')
#y = sin(x) + cos(x)
y = T.sin(x) + T.cos(x)
#Bedeutung der Differenzierung von y in Bezug auf x
gy = T.grad(cost=y, wrt=x)
f = function(inputs=[x], outputs=gy)
#Finden Sie den Differentialkoeffizienten, indem Sie ein konkretes x angeben
print (f(0)) #1.0
print (f(np.pi / 4))#1.1102230246251565e-16
print (f(np.pi)) #-1.0000000000000002
(Dieser Artikel wurde als Referenz verwendet. Dieser Artikel enthält viele andere Beispiele, daher empfehle ich ihn.)
Ebenfalls,
x = T.dscalar('x')
y = T.dscalar('y')
z = T.sin(x) + T.cos(y)
#z = sin(x) + cos(y)
#Bedeutung der Differenzierung von y in Bezug auf x
dx = T.grad(cost=z, wrt=x)
dy = T.grad(cost=z, wrt=y)
dz_dx = function(inputs=[x,y], outputs=dx)
dz_dy = function(inputs=[x,y], outputs=dy)
#Finden Sie den Differentialkoeffizienten, indem Sie ein konkretes x angeben
pi = math.pi
dz_dx(pi/2,pi/2) #array(6.123234e-17)
dz_dy(0,pi/2) #array(-1.)
Auf diese Weise können Sie auch die Differenzierung zweier Variablen berechnen. Könnten Sie irgendwie verstehen, wie man es benutzt?
Es ist ein etwas besonderer Schreibstil, aber als ich mich daran gewöhnt hatte, fand ich es überraschend einfach zu schreiben und zu verwenden. Wenn ich Zeit habe, möchte ich einen Artikel über die Implementierung eines neuronalen Netzwerks mit Thano schreiben. Dies ist die Bibliothek, die im frühen Deep Learning verwendet wurde, und ich kann mir nicht vorstellen, wie sie sich zu einer modernen Bibliothek entwickelt hat. Wird studieren
theano Dokumentation http://deeplearning.net/software/theano/tutorial/adding.html#exercise
Eine Aufzeichnung künstlicher Intelligenz http://aidiary.hatenablog.com/entry/20150518/1431954329
github https://github.com/Theano/Theano