numpy ascontiguousarra 学习笔记
目录
numpy ascontiguousarra函数
转换命令:
ascontiguousarray等价效果:
ascontiguousarray学习笔记
ascontiguousarray函数将一个内存不连续存储的数组转换为内存连续存储的数组,使得运行速度更快。
在昇腾开发版上使用时,因为内存不连续导致预测结果错误。
import numpy as npa = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
print(a.flags) # c_contiguous为True,数组a为C连续性b = np.ascontiguousarray(a)
print(b)
print(b.flags) # c_contiguous为True,数组b为C连续性c = np.ascontiguousarray(a, dtype=np.float32)
print(c)
print(c.flags) # c_contiguous为True,数组c为C连续性且元素类型变为np.float32
转换命令:
atc --model=plate.onnx --framework=5 --output=plate_rec_color_bs1 --input_format=NCHW --input_shape="images:1,3,48,168" --log=info --soc_version=Ascend310P3
img = np.ascontiguousarray(img)
ascontiguousarray等价效果:
img3.tofile("temp.bin")
img4 = np.fromfile("temp.bin", dtype=np.float32) # 从bin文件中读取图片
ascontiguousarray学习笔记
1、ascontiguousarray函数将一个内存不连续存储的数组转换为内存连续存储的数组,使得运行速度更快。
比如我们生成一个二维数组,Numpy可以通过.flags熟悉查看一个数组是C连续还是Fortran连续的
import numpy as np
arr = np.arange(12).reshape(3,4)
flags = arr.flags
print("",arr)
print(flags)
output:
[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]]C_CONTIGUOUS : TrueF_CONTIGUOUS : FalseOWNDATA : FalseWRITEABLE : TrueALIGNED : TrueWRITEBACKIFCOPY : FalseUPDATEIFCOPY : False
我们可以看到 C_CONTIGUOUS : True,就说明是行连续,F_CONTIGUOUS : False则代表列不连续。同理如果我们进行arr.T 或者arr.transpose(1,0)则是列连续,行不连续。
import numpy as np
arr = np.arange(12).reshape(3,4)
arr1 = arr.transpose(1,0)
flags = arr1.flags
print("",arr1)
print(flags)
output:
[[ 0 4 8][ 1 5 9][ 2 6 10][ 3 7 11]]C_CONTIGUOUS : FalseF_CONTIGUOUS : TrueOWNDATA : FalseWRITEABLE : TrueALIGNED : TrueWRITEBACKIFCOPY : FalseUPDATEIFCOPY : False
如果进行在行上的slice即进行切割,则会改变连续性,成为既不C连续,也不Fortran连续的:
import numpy as np
arr = np.arange(12).reshape(3,4)
arr1 = arr[:,0:2]
flags = arr1.flags
print("",arr1)
print(flags)
output:
[[0 1][4 5][8 9]]C_CONTIGUOUS : FalseF_CONTIGUOUS : FalseOWNDATA : FalseWRITEABLE : TrueALIGNED : TrueWRITEBACKIFCOPY : FalseUPDATEIFCOPY : False
此时利用ascontiguousarray函数,可以将其变为连续的:
import numpy as np
arr = np.arange(12).reshape(3,4)
arr1 = arr[:,0:2]
arr2 = np.ascontiguousarray(arr1)
flags = arr2.flags
print("",arr2)
print(flags)
output:
[[0 1][4 5][8 9]]C_CONTIGUOUS : TrueF_CONTIGUOUS : FalseOWNDATA : TrueWRITEABLE : TrueALIGNED : TrueWRITEBACKIFCOPY : FalseUPDATEIFCOPY : False
C_CONTIGUOUS : True
C_CONTIGUOUS:真
相关文章:
numpy ascontiguousarra 学习笔记
目录 numpy ascontiguousarra函数 转换命令: ascontiguousarray等价效果: ascontiguousarray学习笔记 ascontiguousarray函数将一个内存不连续存储的数组转换为内存连续存储的数组,使得运行速度更快。 在昇腾开发版上使用时,…...
【算法|双指针系列No.1】leetcode283. 移动零
个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…...
PHP8定义字符串的方法-PHP8知识详解
字符串,顾名思义,就是将一堆字符串联在一起。字符串简单的定义方法是使用英文单引号( )或英文双引号(" ")包含字符。另外,还可以使用定界符定义字符串。本文还介绍了字符串的连接符。…...
分享21年电赛F题-智能送药小车-做题记录以及经验分享
这里写目录标题 前言一、赛题分析1、车型选择2、巡线1、OpenMv循迹2、灰度循迹 3、装载药品4、识别数字5、LED指示6、双车通信7、转向方案1、开环转向2、位置环速度环闭环串级转向3、MPU6050转向 二、调试经验分享1、循迹2、识别数字3、转向4、双车通信5、逻辑处理6、心态问题 …...
字符串统计-C语言/Java
描述 计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次。数据范围: 1≤n≤500 例如,对于字符串 ab…...
Styled-components,另一种css in js的方案
介绍 Styled-components是一种流行的CSS-in-JS库,它为React和React Native应用程序提供了一种优雅的方式来管理组件的样式。它的设计理念是将CSS样式与组件逻辑紧密绑定在一起,从而使样式在组件层级中作用更加清晰和可维护 使用 安装Styled-components…...
nginx部署以及反向代理多域名实现HTTPS访问
nginx部署以及反向代理多域名实现 1.nginx部署 1.1 编写nginx部署文件 docker-compose.yml version: 3 services: nginx:restart: always image: nginx:1.20container_name: nginx-mainports:- 80:80- 443:443volumes: # 基础配置- /opt/nginx_main/nginx-info/nginx.conf:/…...
24届近5年东华大学自动化考研院校分析
今天给大家带来的是东华大学控制考研分析 满满干货~还不快快点赞收藏 一、东华大学 学校简介 东华大学(Donghua University),地处上海市,是教育部直属全国重点大学,国家“双一流”、“211工程”建设高校…...
nacos伪集群启动成功,但是服务注册不上的问题
项目场景: nacos 伪集群启动成功,但是服务未注册上的问题: 问题描述 在学习nacos中,我买了一台阿里云服务器,在其上部署了nginx及三个nacos 端口分别是 8848 8868 8888 我按照正常的流程 解压nacos修改application.p…...
tidevice+appium在windows系统实施iOS自动化
之前使用iOS手机做UI自动化都是在Mac电脑上进行的,但是比较麻烦,后来看到由阿里开源的tidevice工具可以实现在windows上启动WDA,就准备试一下,记录一下过程。 tidevice的具体介绍可以参考一下这篇文章:tidevice 开源&…...
面试热题(LRU缓存)
请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 …...
微信小程序开发【从0到1~入门篇】2023.08
一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 文件必须作用app.js是小程序逻辑app.json是小程序公告配置app.wxss否小程序公告样式表 3. 小程序项目结构 一个小程序页面由四个文件组成,分别是: 文…...
P1398 [NOI2013] 书法家
题目描述 输入 #1 3 13 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 -1 -1 1 1 -1 1 1 1 -1 1 1 1 输出 #1 24 输入 #2 3 13 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1…...
【构建卷积神经网络】
构建卷积神经网络 卷积网络中的输入和层与传统神经网络有些区别,需重新设计,训练模块基本一致 全连接层:batch784,各个像素点之间都是没有联系的。 卷积层:batch12828,各个像素点之间是有联系的。 impor…...
SSH 认证原理
SSH协议登录服务器: $ ssh userhost 主要有两种登录方式:第一种为密码口令登录,第二种为公钥登录 密码口令登录 通过密码进行登录,主要流程为: 1、客户端连接上服务器之后,服务器把自己的公钥传给客户端…...
基于DETR (DEtection TRansformer)开发构建MSTAR雷达影像目标检测系统
关于DETR相关的实践在之前的文章中很详细地介绍过,感兴趣的话可以自行移步阅读即可: 《DETR (DEtection TRansformer)基于自建数据集开发构建目标检测模型超详细教程》 《书接上文——DETR评估可视化》 基于MSTAR雷达影像数据开发构建目标检测系统&am…...
Java分布式微服务1——注册中心(Eureka/Nacos)
文章目录 基础知识注册中心Eureka注册中心与Ribbon负载均衡1、Eureka注册中心2、Eureka的搭建3、Eureka服务注册4、复制服务实例5、拉取服务6、Ribbon负载均衡的流程及Eureka规则调整:7、Ribbon负载均衡饥饿加载 Nacos注册中心1、服务端Nacos安装与启动2、客户端Nac…...
(文章复现)建筑集成光储系统规划运行综合优化方法matlab代码
参考文献: [1]陈柯蒙,肖曦,田培根等.一种建筑集成光储系统规划运行综合优化方法[J].中国电机工程学报,2023,43(13):5001-5012. 1.基本原理 本文建立的双层耦合模型内、外层分别对应求解容量配置与能量调度问题。外层模型设置光伏与储能容量备选集并将容量配置组合…...
【Redis】——RDB快照
Redis 是内存数据库,但是它为数据的持久化提供了两个技术,一个是AOF日志,另一个是RDB快照: AOF 文件的内容是操作命令;RDB 文件的内容是二进制数据。 RDB 快照就是记录某一个瞬间的内存数据,记录的是实际…...
微服务监控技术skywalking的部署与使用(亲测无坑)
微服务监控技术skywalking的部署与使用 1. 前期准备2. skywalking安装部署2.1 Java Agent2.2 apache/skywalking-oap-server2.3 apache/skywalking-ui 3. 项目启动4.效果展示 1. 前期准备 注:本篇文章采用docker部署,采用8.2.0版本,版本一定…...
保姆级教程:手把手教你用GLM-4v-9b搭建图片问答机器人
保姆级教程:手把手教你用GLM-4v-9b搭建图片问答机器人 你是不是经常遇到这样的情况:看到一张复杂的图表,想快速了解里面的数据含义;或者收到一张产品图,想知道它的具体型号和功能;又或者辅导孩子作业时&am…...
深度解析WindowResizer:Windows窗口强制调整工具的技术架构与实现
深度解析WindowResizer:Windows窗口强制调整工具的技术架构与实现 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer WindowResizer是一款基于MFC框架开发的Windows桌面应…...
Openclaw案例之构建《全自动化、高适配、可定制”的AI绘画生产体系》
⚡⚡⚡ 欢迎预览,批评指正⚡⚡⚡ 文章目录一、需求&目标二、搭建基础环境2.1 环境准备2.2 OpenClaw与绘画模型部署启动2.3 核心配置(模型插件联动)三、核心操作3.1 多智能体角色配置(核心步骤)3.2 一键启动自动化…...
SIFT算法二十年:为什么它仍是图像匹配的‘老兵’?对比ORB、SURF与深度学习特征
SIFT算法二十年:为什么它仍是图像匹配的‘老兵’? 在计算机视觉领域,特征提取与匹配一直是核心问题之一。从早期的传统算法到如今的深度学习模型,技术迭代层出不穷。然而,在这股浪潮中,SIFT(Sca…...
大多数人用AI还是“一次性聊天” Claude Cowork却让你把重复工作彻底扔上自动驾驶
花大价钱开了Claude Pro,每天扔进去一句“帮我写文案”“帮我优化内容”,结果用完就关窗口,下次还是从零开始?重复任务永远在偷走你的注意力,脑子里永远挂着“待办事项”这个隐形标签,效率看起来提升了&…...
Wan2.2-I2V-A14B部署教程:NVIDIA MPS多进程服务共享GPU资源方案
Wan2.2-I2V-A14B部署教程:NVIDIA MPS多进程服务共享GPU资源方案 1. 镜像概述与核心特性 Wan2.2-I2V-A14B是一款专为文本生成视频任务优化的私有部署镜像,特别针对RTX 4090D 24GB显存显卡进行了深度优化。这个镜像最大的特点是内置了完整的运行环境和模…...
告别手动抄表!WinCC结合SQL Server和Excel,打造车间级设备运行数据看板
工业数据可视化实战:用WinCCSQL Server构建车间级智能看板 在制造业数字化转型浪潮中,车间设备数据的可视化呈现已成为提升生产效率的关键环节。传统的人工抄表方式不仅耗时耗力,更难以实现数据的实时分析和历史追溯。本文将介绍如何利用Win…...
Java基础实战:用快马平台快速构建学生成绩管理系统巩固核心知识
最近在复习Java基础知识,发现光看理论很容易遗忘,于是决定通过一个小项目来巩固核心概念。这个简易学生成绩管理系统虽然功能简单,但涵盖了Java基础的多个重要知识点,特别适合像我这样的初学者练手。 项目整体设计思路 首先考虑…...
革新性B站体验全流程优化:Bilibili-Evolved让卡顿成为历史
革新性B站体验全流程优化:Bilibili-Evolved让卡顿成为历史 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved 你是否也曾遭遇这样的窘境:精心挑选的番剧在高潮时刻突然卡…...
Overleaf-Workshop:在VSCode中实现Open Overleaf项目的无缝协作与高效管理
Overleaf-Workshop:在VSCode中实现Open Overleaf项目的无缝协作与高效管理 【免费下载链接】Overleaf-Workshop Open Overleaf/ShareLaTex projects in vscode, with full collaboration support. 项目地址: https://gitcode.com/gh_mirrors/ov/Overleaf-Workshop…...
