jax安装

2023-11-16

Windows 安装

pip install jaxlib===0.3.5 -f https://whls.blob.core.windows.net/unstable/index.html

pip install jaxlib[cuda111] -f https://whls.blob.core.windows.net/unstable/index.html --use-deprecated legacy-resolver

安装完后引用报错。

linux版本:

https://github.com/google/jax

jax.numpy是CPU、GPU和TPU上的numpy,具有出色的自动差异化功能,可用于高性能机器学习研究

首先我们得安装jax

pip install jax jaxlib

以下参考:机器学习加速利器jax,让numpy加速30倍_喝粥也会胖的唐僧的博客-CSDN博客_jax numpy

先试一下原生的numpy 

import numpy as np

import time

x = np.random.random([5000, 5000]).astype(np.float32)

try:

    st=time.time()

    y=np.matmul(x, x)

except Exception:

    print("erro")

print(time.time()-st)

print(y)

运行结果:  

  1. [root@node opt]# python np.py

  2. 4.424036026000977

  3. [[1236.3004 1240.3048 1211.4501 ... 1225.7804 1237.1368 1235.1566]

  4. [1235.5778 1246.7327 1208.7142 ... 1238.117 1232.439 1226.5779]

  5. [1235.0111 1244.4628 1211.5264 ... 1238.5541 1246.9045 1244.6909]

  6. ...

  7. [1229.7677 1238.8345 1210.4467 ... 1219.8604 1234.0862 1220.1482]

  8. [1231.9464 1251.9636 1212.1384 ... 1235.8513 1236.8677 1240.5355]

  9. [1254.0636 1265.74 1241.6528 ... 1245.015 1259.153 1247.0613]]

再来试一下jax带的numpy


import jax.numpy as np

from jax import random

import time

x = random.uniform(random.PRNGKey(0), [5000, 5000])

st=time.time()

try:

    y=np.matmul(x, x)

except Exception:

    print("erro")

print(time.time()-st)

print(y)
  1. [root@node opt]# python jax_np.py

  2. /opt/AN/lib/python3.7/site-packages/jax/lib/xla_bridge.py:122: UserWarning: No GPU/TPU found, falling back to CPU.

  3. warnings.warn('No GPU/TPU found, falling back to CPU.')

  4. 0.013895750045776367

  5. [[1261.0647 1244.5797 1237.2269 ... 1264.7208 1246.0367 1260.5391]

  6. [1256.1 1239.737 1237.5562 ... 1257.1333 1243.5856 1243.5979]

  7. [1261.2687 1239.5006 1250.6697 ... 1259.8387 1250.6825 1248.5712]

  8. ...

  9. [1265.9805 1230.9077 1244.4961 ... 1264.2374 1241.5995 1244.9274]

  10. [1262.9971 1253.961 1256.2424 ... 1266.3489 1255.1581 1274.1865]

  11. [1273.3524 1252.4921 1261.0496 ... 1273.2394 1272.829 1267.7483]]

我们可以看到,没有jax的numpy运行了差不多4.4秒,而带了jax的numpy直接才0.014,速度基本上提升了30倍。也太快了

同样地,jax下面还有jax.scipy等代替原生的scipy

To install a CPU-only version, which might be useful for doing local development on a laptop, you can run

pip install --upgrade pip
pip install --upgrade jax jaxlib  # CPU-only version

nvcc --version

pip install --upgrade jax jaxlib==0.1.61+cuda110 -f https://storage.googleapis.com/jax-releases/jax_releases.html

pip install jax

pip install jaxlib

Windows不支持,替换方法:

错误:scale = jax.lax.rsqrt(np.maximum(var * fan_in, eps)) * gain

改之后:scale = torch.rsqrt(np.maximum(var * fan_in, eps)) * gain

    'celu': lambda x: torch_F.celu(x) * 1.270926833152771,
    'elu': lambda x: torch_F.elu(x) * 1.2716004848480225,
    'gelu': lambda x: torch_F.gelu(x) * 1.7015043497085571,
    'glu': lambda x: torch_F.glu(x) * 1.8484294414520264,
    'leaky_relu': lambda x: torch_F.leaky_relu(x) * 1.70590341091156,
    'log_sigmoid': lambda x: torch_F.logsigmoid(x) * 1.9193484783172607,
    'log_softmax': lambda x: torch_F.log_softmax(x) * 1.0002083778381348,
    'relu': lambda x: torch_F.relu(x) * 1.7139588594436646,
    'relu6': lambda x: torch_F.relu6(x) * 1.7131484746932983,
    'selu': lambda x: torch_F.selu(x) * 1.0008515119552612,
    'sigmoid': lambda x: torch_F.sigmoid(x) * 4.803835391998291,
    'silu': lambda x: torch_F.silu(x) * 1.7881293296813965,
    'soft_sign': lambda x: torch_F.softsign(x) * 2.338853120803833,
    'softplus': lambda x: torch_F.softplus(x) * 1.9203323125839233,
    'tanh': lambda x: np.tanh(x) * 1.5939117670059204,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jax安装 的相关文章

随机推荐

  • 在ubuntu中添加新硬盘

    前言 安装新硬盘这种事情并不会经常 发生同样它也并不复杂 本文将向你说明如何在现有的Ubuntu系统下安装一个新硬盘 并为它设置好分区然后使用它 在动手之前 你需要先考虑下面三个关于新硬盘使用方面的问题 该硬盘是否只会在Ubuntu下使用
  • 数据清洗基础—Kettle 数据转换与清洗、数据抽取操作

    实验一 数据清洗基础 Kettle 数据转换与清洗 数据抽取操作 1 实验题目 Kettle 数据转换与清洗 数据抽取操作 2实验目和要求 2 1熟悉 Kettle 的开发环境 并掌握 Kettle 环境的配置与安装 2 2能使用 Kett
  • 复习Python第八节之json数据

    目录 JSON数据学习 1 数据交换 2 json语法 1 什么是json 2 json的库函数 3 dumps 与dump 以及loads 与load 函数之间的差别 4 Json来模拟以下数据库 文本文档当作数据库 5 使用json案例
  • Srping MVC ant路径匹配

    背景 最近有一个功能设计path匹配 开发说支持ant匹配 这是我第一次听说这个词 赶紧补一下功课 Ant匹配规则 1 前言 1 SpringMVC的路径匹配规则是按照Ant来的 实际上不只是SpringMVC 整个Spring框架的路径解
  • 流媒体协议部分开源库简单比对

    流媒体协议部分开源库简单比对 版本说明 版本 作者 日期 备注 0 1 ZY 2019 2 14 初稿 目录 文章目录 流媒体协议部分开源库简单比对 版本说明 目录 目前找到的比较中意的开源库 live555 media server JR
  • 如何用计算机打出平方,x的平方怎么在电脑上打出来(常见数学符号打法图文)...

    很多小白都会这样问 数学的平方 立方怎么打出来 诸如X Y Z 等等这些右下角的角标数字又是怎么打 根号怎么打出来 一些圆形符号 对数函数 极限符号 积分 尤其是定积分 又是怎么才能在pc端去打出来呢 本篇文章介绍几种比较基础的方法 拿平方
  • 第十三届蓝桥杯单片机客观题真题考点整理

    蓝桥杯 单片机设计与开发大赛马上就要进行 最后冲刺阶段将自己整理的资料上传一下 最后一个星期主要冲刺选择题 现在将选择题的考点附上 第八届预赛 单片机 定时器工作状态 晶振 中断优先级 IO口 数码管消隐 内存分布 IO口 复位 振荡器 模
  • PLC学习札记

    PLC概念相关 PLC编程 PLC系统 通过了解概念 知道了plc的核心是对继电器编程 什么是继电器 继电器 最后 阅读PLC指导手册 结合之前学习的知识 融会贯通 PLC编程手册 FX系列 pdf 指令表运行机制 仅限于本项目
  • 人脸识别解决方案全套文件大合集,120份全新精选,有这个就够了

    人脸识别解决方案全套文件大合集 120份全新精选 有这个就够了 一 人脸识别4个特点 二 人脸识别的 4 个步骤 三 人脸识别的 5 个难点 四 人脸识别算法的发展轨迹 五 人脸识别的典型应用 六 下载人脸识别全套解决方案 一 人脸识别4个
  • ubuntu14.04 Git Github环境搭建设置

    一 安装Git sudo apt get update 获得最近的软件包的列表 sudo apt get install git git core git gui git doc git svn git cvs gitweb gitk gi
  • python是完全面向对象的语言、并且完全支持_Python

    Python是一种高级动态 完全面向对象的语言 函数 模块 数字 字符串都是对象 并且完全支持继承 重载 派生 多继承 有益于增强源代码的复用性 运算语句 表达式 函数调用和赋值 各种类型的数据对象 可以通过各种运算组织成复杂的表达式 调用
  • 第一章 dolphinscheduler基础环境搭建

    官方链接 https dolphinscheduler apache org 1 准备工作 1 解压安装包 tar xzvf apache dolphinscheduler 1 3 9 bin tar gz C opt module apa
  • uni-app 1、app-plus的使用,#ifdef MP只兼容小程序

    最近开始查看uni app的一些项目 在pages json里面发现app plus 百度了下看见一些网友的解释是app跟h5端执行 小程序则不执行 只测试过微信小程序 据说其他小程序也不执行 代码如下 path pages index i
  • mysql中的全文索引

    查询操作在数据量比较少时 可以使用like模糊查询 但是对于大量的文本数据检索 效率很低 如果 使用全文索引 查询速度会比like快很多倍 在MySQL 5 6 以前的版本 只有MyISAM存储引擎支持全 文索引 从MySQL 5 6开始M
  • 《云计算-刘鹏》学习笔记-第一章:大数据与云计算

    文章目录 0 笔记说明 1 大数据时代 2 云计算 大数据的计算 3 云计算发展现状 4 云计算实现机制 5 云计算压倒性的成本优势 0 笔记说明 参考书籍为 云计算 第三版 作者为刘鹏 1 大数据时代 大数据的定义如下 海量数据或巨量数据
  • 概率论基础(sigma域、测度)

    一 样本空间 事件 样本空间 Omega 指一个实验的可能结果的集合 omega in Omega 称为 样本
  • 定时任务及分布式定时任务注意事项

    一 定时任务默认是阻塞的 定时任务默认是阻塞的 即串行执行 若一个服务配置多个定时任务 需要等上一个定时任务执行完 才能执行下一个定时任务 一个定时任务超长了 也不应该阻塞其他定时任务的执行 如一个定时任务每秒执行 而业务执行时间是5秒 那
  • vscode (1)直接编译

    第一步创建c文件 第二步配置 终端 配置默认生成任务 选择 usr bin gcc version 2 0 0 tasks type cppbuild label C C gcc 生成活动文件 command usr bin gcc 使用的
  • Stacked Queries(堆叠注入)

    文章目录 基本知识 原理介绍 堆叠注入的局限性 Mysql数据库实例介绍 CTF 实战与各种姿势 修改表名 利用HANDLER语句 利用MySql预处理 正常利用 MySql预处理配合十六进制绕过关键字 MySql预处理配合字符串拼接绕过关
  • jax安装

    Windows 安装 pip install jaxlib 0 3 5 f https whls blob core windows net unstable index html pip install jaxlib cuda111 f