一个python包来做自动区分。

easyGrad的Python项目详细描述


[![构建状态](https://travis-ci.org/amartya18x/easygrad.svg?branch=master)(https://travis ci.org/amartya18x/easy grad)
easy grad

此库旨在提供在python中执行符号操作的简单实现
允许的运算符

-*exp(x)*和*log(x)*
``python
def testops():
x=integer('x')
y=ops.log(x)
z=ops.exp(y)
gragraph=gragragragraph(z)
graph.getoutput({x:x:1})
graph.getgradientents(wrt=x)
x.gradientx.gradientx.gradientx.gradientx.gradientx.gradientx.gradientx.gradientx.gragradientx.gragragragragragragragragraph.gradigradientx<
```` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `.getgradients(wrt=x)
打印x.梯度
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/>
`` python
def gradtestsimple():
a=整数(“a”)
b=integer(“b”)
c=a+b
d=b+6
e=c*d
graph=gradegraph(e)
graph.getoutput({a:32,
b:11})
graph.getgradients(wrt=b)
print a.gradient,b.梯度
````````````````````````````````` python
def gradtest():
x=integer(“int1x”)
y=integer(“int2y”)
z=integer(“int3z”)
p=integer(“int4p”)
p=integer(“int4p”)
k=p*p*z
k
m=k+t
n=m*z
gragragragraph=gragragragragragragragragragragragragragragragragragragragragragragragragragragra>graph.getoutput({x:9,
y:9,
z:9,
p:2})
graph.getgradients(wrt=z)
打印x.gradient,y.gradient,z.gradient,p.gradient
````
```这与上面的示例相同,但这些命令不是三个op命令。

``python
def gradestlong():
x=integer(“int1x”)
y=integer(“int2y”)
z=integer(“int3z”)
p=integer(“int4p”)
k=p*z
n=(k+(y*p*z))*z
=梯度图(n)
graph.getoutput({x:9,
y:9,
z:9,
p:2})
graph.getgradients(wrt=z)
打印x.gradient,y.gradient,z.gradient,p.gradient
````
``张量运算
`` python

x=doubletensor(“tensor1”)
y=x.dot([3,4])
z=y.dot([4,5])
graph=gradigraph(z)
output=graph.getoutput({x:[3,4]})
graph.getgradients(wrt=x)
assert(np.all)(output==100,
assert(np.all(x.gradient===[[12,16.16.],[15,20.20.]])



def tensorop():
x=双张量(“张量1”)
y=x-[3,4]
z=ops.log(y*x)
graph=gragragragragragraph(z)
output=graph.getoutput({x[10]]})
assert(np.all)(np.isclose(output,np.log(10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,*(10-NP.Asarray([3,4]))
graph.getgradients(wrt=x)
a=2*10-np.asarray([3,4])
b=1.0/np.exp(np.asarray(output))
assert(np.all(np.isclose(x.gradient,a*b)))


```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java中最小长度的字数计算   java事务处理JavaEE 6   java如何进行5分钟刷新并检查txt是否被修改?   java可以同时拖动多个对象   变量长、双精度、字节、字符在Java中的用途是什么?   spring将XMLBean配置转换为java配置   java检测不可靠网络上的TCP丢失   Java:TCP加密、SSL和Netty   在java中,如何使用isAssignableFrom的映射避免多个if-else   在J2EE动态Web项目中找不到java CSS文件   java遍历领域查询到RealmList   安卓阅读网站内容Java   java如何修改/自定义/反编译Opera mini jar文件?   java死锁播放框架如何使用控制器中的参数检查@RestrictedResource?   java在MS Excel中导入xml文件我们如何使用Python或任何其他编程语言自动化此流程?   java如何暂停正在运行的线程并在需要时重新启动同一线程?