四时宝库

程序员的知识宝库

Python数据分析之NumPy(高级篇)(numpy做数据分析)

?



一些更高级的ndarray处理

where和一些其他的逻辑运算

np.where(cond,x,y):满足条件(cond)输出x,不满足输出y

x_arr = np.array([1.1, 1.2, 1.3, 1.4, 1.5])
y_arr = np.array([2.1, 2.2, 2.3, 2.4, 2.5])
cond = np.array([True, False, True, True, False])
print(np.where(cond, x_arr, y_arr))

OpenCV-Python 进行相机校准(opencv 校正)

目标

在本节中,我们将学习

  • 由相机引起的失真类型,
  • 如何找到相机的固有和非固有特性
  • 如何根据这些特性使图像不失真

基础

一些针孔相机会给图像带来明显的失真。两种主要的变形是径向变形和切向变形。径向变形会导致直线出现弯曲。

距图像中心越远,径向畸变越大。例如,下面显示一个图像,其中棋盘的两个边缘用红线标记。但是,您会看到棋盘的边框不是直线,并且与红线不匹配。所有预期的直线都凸出。有关更多详细信息,请访问“失真(光学)”。

一起学数据分析之NumPy(13)——用于数组的文件输入输出

import numpy as np

NumPy能够读写磁盘上的文本数据或二进制数据。当然pandas库中也有一些用于将表格型数据读取到内存中的工具,我们后面也会接触到。

将数组以二进制格式保存到磁盘

np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中的。

教程|用于数组的文件输入输出(数组的输出格式)

访问flyai.club,一键创建你的人工智能项目

NumPy能够读写磁盘上的文本数据或二进制数据。这一小节只讨论NumPy的内置二进制格式,因为更多的用户会使用pandas或其它工具加载文本或表格数据。

np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中的:

如果文件路径末尾没有扩展名.npy,则该扩展名会被自动加上。然后就可以通过np.load读取磁盘上的数组:

OpenCV-Python 相机校准 | 四十九

目标

在本节中,我们将学习

  • 由相机引起的失真类型,
  • 如何找到相机的固有和非固有特性
  • 如何根据这些特性使图像不失真

基础

一些针孔相机会给图像带来明显的失真。两种主要的变形是径向变形和切向变形。径向变形会导致直线出现弯曲。

距图像中心越远,径向畸变越大。例如,下面显示一个图像,其中棋盘的两个边缘用红线标记。但是,您会看到棋盘的边框不是直线,并且与红线不匹配。所有预期的直线都凸出。有关更多详细信息,请访问“失真(光学)”。

数据处理利器NumPy初识(四)(数据处理软件python)

回顾

在数据处理利器NumPy初识(三)中,我们介绍了NumPy中对ndarray数据的各种运算以及NumPy中广播机制的基本概念和用法。今天我们来看一下NumPy中随机数的相关内容和对ndarray的存储与加载。

NumPy中的随机数

NumPy中的随机数集中在random包中,它包含了多种概率分布的随机样本,是数据计算、数据分析中的重要辅助工具,主要包括normal(mean,stdev,size)、random(size)、rand(d0, d1, ..., dn)、randn(d0, d1, ..., dn)、randint(low[, high, size, dtype])、choice(a[, size, replace, p])等函数。下面我们分别看一下这几种随机数的用法。

谷歌今天又开源了,这次是Sketch-RNN

前不久,谷歌公布了一项最新技术,可以教机器画画。今天,谷歌开源了代码。在我们研究其代码之前,首先先按要求设置Magenta环境。(https://github.com/tensorflow/magenta/blob/master/README.md)

本文详细解释了Sketch-RNN的TensorFlow代码,即之前发布的两篇文章《Teaching Machines to Draw》和《A Neural Representation of Sketch Drawings》中描述的循环神经网络模型(RNN)。

某小伙用10行tensorlayer深度学习代码,导入Slim模型迁移学习

笔者博客(用tensorflow迁移学习猫狗分类)笔者讲到用tensorlayer的VGG16模型迁移学习图像分类,那麽问题来了,tensorlayer没提供的模型怎么办呢?别担心,tensorlayer提供了tensorflow中的slim模型导入功能,代码例子在tutorial_inceptionV3_tfslim。

《利用numpy进行统计分析》(利用numpy库对文件进行操作)

#读/写文件
#numpy的文件读写主要有二进制的文件读写和文件列表形式的数据读/写俩种方式
#save函数以二进制的格式保存数据
#load函数从二进制的文件中读取数据
#save函数的语法格式如下:
"""
np.save(file,arr,allow_pickle=True,fix_imports=True)
 file:为要保存的文件名称,需要指定文件保存的路径
 arr:为需要保存的数组,拓展名.npy为自动添加
"""
'\nnp.save(file,arr,allow_pickle=True,fix_imports=True)\n file:为要保存的文件名称,需要指定文件保存的路径\n arr:为需要保存的数组,拓展名.npy为自动添加\n'
#二进制数据存储
import numpy as np
arr = np.arange(100).reshape(10,10) #创建一个数组
np.save('../tmp/save_arr',arr)
print('保存的数组为:\n',arr)
保存的数组为:
 [[ 0 1 2 3 4 5 6 7 8 9]
 [10 11 12 13 14 15 16 17 18 19]
 [20 21 22 23 24 25 26 27 28 29]
 [30 31 32 33 34 35 36 37 38 39]
 [40 41 42 43 44 45 46 47 48 49]
 [50 51 52 53 54 55 56 57 58 59]
 [60 61 62 63 64 65 66 67 68 69]
 [70 71 72 73 74 75 76 77 78 79]
 [80 81 82 83 84 85 86 87 88 89]
 [90 91 92 93 94 95 96 97 98 99]]
#如果将多个数组保存到一个文件中,可以使用savez函数,其文件的拓展名为.npz
#多个数组存储
arr1 = np.array([[1,2,3],[4,5,6]])
arr2 = np.arange(0,1.0,0.1)
np.savez('../tmp/savez_arr',arr1,arr2)
print('保存的数组1为:\n',arr1)
print('保存的数组2为:\n',arr2)
保存的数组1为:
 [[1 2 3]
 [4 5 6]]
保存的数组2为:
 [0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
#二进制文件获取
#读取含有单个数组的文件
loaded_data = np.load('../tmp/save_arr.npy')
print('读取到的数组为:\n',loaded_data)
读取到的数组为:
 [[ 0 1 2 3 4 5 6 7 8 9]
 [10 11 12 13 14 15 16 17 18 19]
 [20 21 22 23 24 25 26 27 28 29]
 [30 31 32 33 34 35 36 37 38 39]
 [40 41 42 43 44 45 46 47 48 49]
 [50 51 52 53 54 55 56 57 58 59]
 [60 61 62 63 64 65 66 67 68 69]
 [70 71 72 73 74 75 76 77 78 79]
 [80 81 82 83 84 85 86 87 88 89]
 [90 91 92 93 94 95 96 97 98 99]]
#读取含有多个数组的文件
loaded_data1 = np.load('../tmp/savez_arr.npz')
print('读取的数组为1为:\n',loaded_data1['arr_0'])
print('读取的数组为2为:\n',loaded_data1['arr_1'])
读取的数组为1为:
 [[1 2 3]
 [4 5 6]]
读取的数组为2为:
 [0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

使用 TVMC 编译和优化模型(tvm图优化)

内容一览:本节讲解使用 TVMC 编译和优化模型。TVMC 是 TVM 的命令驱动程序,通过命令行执行 TVM 功能。本节是了解 TVM 工作原理的基础。

<< 1 2 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接