文章目录

  • 计算
  • 参考文献

计算

数组切片如下

import numpy as np
import dask.array as dadata = np.arange(1000).reshape(10, 100)
a = da.from_array(data, chunks=(5, 20))
print(a[:,0:3])

切片结果是前3列

dask.array<getitem, shape=(10, 3), dtype=int64, chunksize=(5, 3), chunktype=numpy.ndarray>

Dask是懒惰计算,就是说,当你要求结果时,它才会计算。
调用这方法设置任务图,然后调用compute方法得到结果。

import numpy as np
import dask.array as dadata = np.arange(1000).reshape(10, 100)
a = da.from_array(data, chunks=(5, 20))
print(a[:,0:3].compute())
print(sum(a[0,0:5].compute()))#0+1+2+3+4=10
[[  0   1   2][100 101 102][200 201 202][300 301 302][400 401 402][500 501 502][600 601 602][700 701 702][800 801 802][900 901 902]]
10

按列求和

import numpy as np
import dask.array as dadata = np.arange(1000).reshape(10, 100)
a = da.from_array(data, chunks=(5, 20))
print(a[1:3,0:3].compute())
print(sum(a[1:3,0:3].compute()))
[[100 101 102][200 201 202]]
[300 302 304]

调用numpy的函数

import numpy as np
import dask.array as dadata = np.arange(1000).reshape(10, 100)
a = da.from_array(data, chunks=(5, 20))
print(a[1:3,0:3].compute())
print(a[1:3,0:3].mean().compute())
print(a[1:3,0:3].sum().compute())
print(np.cos(a[1:3,0:3]).compute())
print(a[1:3,0:3].T.compute())
PS E:\learn\learnpy> & D:/Python312/python.exe e:/learn/learnpy/l2.py
[[100 101 102][200 201 202]]
151.0
906
[[0.86231887 0.89200487 0.1015857 ][0.48718768 0.99808296 0.59134538]]
[[100 200][101 201][102 202]]

可以调用JAX的函数试下

import dask.array as da
import jax.numpy as jnp
from dask import delayed# 创建 Dask 数组
x = da.random.random((1000, 1000), chunks=(100, 100))# 定义一个使用 JAX 的函数
@delayed
def jax_computation(arr):jax_arr = jnp.array(arr)  # 转换为 JAX 数组return jnp.sum(jax_arr * 2).block_until_ready()  # 使用 JAX 计算# 应用计算
result = jax_computation(x.compute())  # 先计算 Dask 数组,再传给 JAX
from dask import compute
import jax# 在多个设备上并行运行 JAX 函数
@delayed
def jax_operation(data):device = jax.devices()[0]  # 可以使用不同设备with jax.default_device(device):return jnp.sum(data * 2)# 创建多个延迟任务
tasks = [jax_operation(jnp.ones(100)) for _ in range(10)]
results = compute(*tasks)  # 并行计算

另外,分布式 JAX 计算,可以考虑使用 JAX 的 pmap 进行多设备并行

import jax
import jax.numpy as jnp
from jax import pmap# 检查可用设备
print(jax.devices())  # 例如: [GpuDevice(id=0), GpuDevice(id=1)]# 定义一个简单的函数
def f(x):return x * 2 + 1# 创建并行化版本
parallel_f = pmap(f)# 准备输入数据 (注意: 第一维对应设备数量)
x = jnp.array([[1., 2.], [3., 4.]])  # 形状 (2, 2)# 并行执行
result = parallel_f(x)  # 在2个设备上并行计算
print(result)

TensorFlow Probability (TFP) 可以与 TensorFlow 的分布式策略结合使用,实现大规模的统计计算和概率建模。
基本概率分布计算

def run_in_distributed_environment():# 在策略范围内创建变量和计算with strategy.scope():# 创建TFP正态分布normal = tfp.distributions.Normal(loc=0., scale=1.)# 分布式计算samples = normal.sample(1000)mean = tf.reduce_mean(samples)stddev = tf.math.reduce_std(samples)return mean, stddevmean, stddev = run_in_distributed_environment()
print(f"均值: {mean.numpy()}, 标准差: {stddev.numpy()}")

参考文献

  1. https://docs.dask.org/en/stable
  2. deepseek

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86852.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86852.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/86852.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据采集合规安全是品牌控价基石

在品牌控价与数据分析工作中&#xff0c;数据采集是不可或缺的前置环节。当前主流的数据采集方式为爬虫采集&#xff0c;这种依托机器自动化操作的模式&#xff0c;取代了传统人工逐一浏览、复制数据的繁琐流程&#xff0c;大幅提升了效率。采集后的原始数据&#xff0c;会由系…

llm推理赋能action policy的探索

兄弟&#xff0c;你这个问题非常到位&#xff0c;咱分两个问题详细讲透&#xff1a; &#x1f680; (1) HybridVLA怎么引入更好的推理能力赋能Diffusion Action&#xff1f; HybridVLA 目前设计的亮点&#xff1a; Diffusion Token 与 LLM 自回归结合 但推理能力没有被显式结…

spring04-管理bean(创建、注入):基于注解

一、什么是注解&#xff1f; &#xff08;1&#xff09;注解的定义 注解&#xff08;Annotation&#xff09;是 Java 代码中的一种特殊标记&#xff0c;用于在程序运行或编译时提供元信息。 格式&#xff1a; 注解名(属性名属性值, 属性名属性值...)&#xff08;2&#xff…

docker安装elasticsearch和kibana

elasticsearch版本和kibana版本需保持一致。这里我使用的都是8.18.2 安装elasticsearch docker-compose.yml networks:es-net: external: true services:elasticsearch:container_name: es01deploy:resources:limits:cpus: 0memory: 0environment:- discovery.typesingle-no…

Python爬虫实战:研究sanitize库相关技术

1. 引言 1.1 研究背景与意义 在当今数字化时代,互联网已成为人们获取信息、交流互动的重要平台。随着 Web 2.0 技术的发展,用户生成内容 (UGC)、社交媒体嵌入、第三方插件等功能极大丰富了网页的内容和交互性,但也带来了严峻的安全挑战。根据 Web 应用安全联盟 (WAS) 的统…

c++ 学习(二、结构体)

目录 一、结构体与const 二、结构体与class的区别 参考链接&#xff1a;69 结构体-结构体中const使用场景_哔哩哔哩_bilibili 一、结构体与const 调用函数的时候&#xff0c;希望这个结构体是可读而不可写的时候&#xff0c;传指针&#xff0c;使用const修饰&#xff0c;方式…

机器学习开篇:算法分类与开发流程

种一棵树最好的时间是十年前&#xff0c;其次是现在。 一、机器学习算法分类 机器学习&#xff08;ML&#xff0c;Meachine Learning&#xff09;是人工智能的核心领域&#xff0c;让计算机从数据中学习规律并做出预测&#xff0c;本文简单介绍机器学习的算法分类和开发流程。…

使用pyflink编写demo并将任务提交到yarn集群

目录 背景 一、pyflink安装 二、编写demo程序 三、提交yarn前准备 四、提交任务 五、踩坑记录 1、提交任务时客户端出现语法错误 2、提交任务时客户端出现lzma包找不到 3、提交任务时客户端出现“org.apache.flink.streaming.api.utils.PythonTypeUtils.getCollectionIn…

Vue 3 最基础核心知识详解

Vue3作为现代前端主流框架&#xff0c;是前后端开发者都应当掌握的核心技能。本篇文章将带你了解vue3的基础核心知识&#xff0c;适合学习与复习 一、Vue 3 应用创建 1.1 创建Vue应用的基本步骤 // main.js import { createApp } from vue // 1. 导入createApp函数 import …

Bootstrap 5学习教程,从入门到精通,Bootstrap 5 Flex 布局语法知识点及案例(27)

Bootstrap 5 Flex 布局语法知识点及案例 Bootstrap 5 提供了强大的 Flexbox 工具集&#xff0c;让布局变得更加简单灵活。以下是 Bootstrap 5 Flex 布局的完整知识点和详细案例代码。 一、Flex 布局基础语法 1. 启用 Flex 布局 <div class"d-flex">我是一个…

HarmonyOS 5智能单词应用开发:记忆卡(附:源码

一、应用概述与核心价值 在语言学习过程中&#xff0c;单词记忆是基础也是难点。本文介绍的智能单词记忆卡应用通过创新的交互设计和科学的学习模式&#xff0c;帮助用户高效记忆单词。应用采用ArkUI框架开发&#xff0c;主要特点包括&#xff1a; 双模式学习系统&#xff1a…

LeetCode--38.外观数列

前言&#xff1a;之前我不是说&#xff0c;我后续可能会讲一下递归吗&#xff0c;现在它来了&#xff0c;这道题会用到回溯的方法&#xff0c;并且比较纯粹哦 解题思路&#xff1a; 1.获取信息&#xff1a;&#xff08;下面这些信息差不多是力扣上面的题目信息了&#xff0c;所…

服务器的安装与安全设置

1&#xff1a;安装操作系统 1、创建虚拟机Win49&#xff08;49为序号&#xff09;&#xff0c;并安装Windows Server 2019操作系统 参考配置&#xff1a;安装系统的分区大小为20GB&#xff0c;其余分区暂不划分&#xff0c; 文件系统格式为NTFS&#…

Sensodrive SensoJoint机器人力控关节模组抗振动+Sensodrive力反馈系统精准对接

Sensodrive成立于2003年&#xff0c;起源于德国航空航天中心&#xff08;DLR&#xff09;的LBR项目。公司由一批传感器技术专家创立&#xff0c;专注于高精度工业扭矩传感器的研发。凭借二十余年的技术积累&#xff0c;Sensodrive将DLR轻型机器人扭矩技术引入工业领域&#xff…

【AI实践】Mac一天熟悉AI模型智能体应用(百炼版)

25.6.29增加Gummy 实时/一句话语音识别25.6.28增加Qwen TTS本地音频和实时播报 背景 准备环境 MacOS M1电脑&#xff08;其他M系列芯片也可以&#xff09; 为了方便python的使用环境&#xff0c;使用Miniconda&#xff1a;下载链接&#xff1a;Download Anaconda Distribution…

WEB安全--Java安全--jsp webshell免杀1

1.1、BCEL ClassLoader 介绍&#xff08;仅适用于BCEL 6.0以下&#xff09;&#xff1a; BCEL&#xff08;Apache Commons BCEL™&#xff09;是一个用于分析、创建和操纵Java类文件的工具库&#xff1b;BCEL的类加载器在解析类名时会对ClassName中有$$BCEL$$标识的类做特殊处…

Valkey与Redis评估对比:开源替代方案的技术演进

#作者&#xff1a;朱雷 文章目录 1 概述1.1内存数据结构存储核心特性1.2主流内存数据结构存储设计与适用场景1.3目前主流内存数据结构存储对比 2 Valkey 说明2.1 哨兵架构设计2.2 集群架构设计2.3 valkey 使用企业和业内生态‌ 3 评估指标4 评估结果 1 概述 内存数据结构存储…

华为云Flexus+DeepSeek征文 | 基于华为云ModelArts Studio安装NoteGen AI笔记应用程序

华为云FlexusDeepSeek征文 | 基于华为云ModelArts Studio安装NoteGen AI笔记应用程序 引言一、ModelArts Studio平台介绍华为云ModelArts Studio简介ModelArts Studio主要特点 二、NoteGen介绍NoteGen简介主要特点 三、安装NoteGen工具下载NoteGen软件安装NoteGen工具 四、开通…

BUUCTF在线评测-练习场-WebCTF习题[BJDCTF2020]Easy MD51-flag获取、解析

解题思路 打开靶场&#xff0c;有个提交框&#xff0c;输入后url会出现我们提交的参数password http://a48577ed-9a1c-4751-aba0-ae99f1eb8143.node5.buuoj.cn:81/leveldo4.php?password123 查看源码并没用发现什么猫腻&#xff0c;抓包在响应头发现了猫腻 hint: select * …

面向对象三大特性深度解析:封装、继承与多态

面向对象三大特性深度解析&#xff1a;封装、继承与多态 思维导图概览 #mermaid-svg-v2u0XIzKotjyXYei {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-v2u0XIzKotjyXYei .error-icon{fill:#552222;}#mermaid-svg-v2…