JAX_IT新闻,Google开源TensorFlow的简化库
2019-11-06

    Google为TensorFlow打开了一个简化的JAX库。JAX结合了Autograd和XLA,致力于高性能机器学习研究。使用Autograd,JAX可以导出循环、分支、递归和闭包函数,并且可以执行三阶推导。通过grad,它支持自动模式反向推导(反向传播)和前向推导,并且可以按任意顺序组合。由于XLA,NumPy程序可以在GPU和TPU上编译和运行。默认情况下,编译发生在底部,库调用被实时编译和执行。但是JAX还允许使用单个函数API jit将Python函数及时编译成XLA优化的内核。编译和自动推导可以任意组合,因此复杂算法可以在Python环境中实现,并获得最大的性能。演示:导入jax。无足轻重

    来自Jax导入grad、jit、VMap

    从功能醇进口部分

    Def预测(参数、输入):

    对于W,B,参数为:

    输出=np.dot(input,W)B

    输入=np.tanh(输出)

    返回输出

    Def logprob_.(参数、输入、目标):

    Preds=预测(参数、输入)

    返回np.sum((preds-target)**2)

    Grad_.=JIT(grad(logprob_.)编译的梯度评估函数

    Perex_grads=JIT(vmap(grad_.,in_axes=(None,0,0))#.per-example grads)更深入地说,JAX实际上是一个可扩展的可组合函数转换系统,grad和JIT都是这种转换的示例。项目地址:https://github.com/google/JAX