?
一些更高级的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))
2024年10月05日
?
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))
2024年10月05日
在本节中,我们将学习
一些针孔相机会给图像带来明显的失真。两种主要的变形是径向变形和切向变形。径向变形会导致直线出现弯曲。
距图像中心越远,径向畸变越大。例如,下面显示一个图像,其中棋盘的两个边缘用红线标记。但是,您会看到棋盘的边框不是直线,并且与红线不匹配。所有预期的直线都凸出。有关更多详细信息,请访问“失真(光学)”。
2024年10月05日
import numpy as np
NumPy能够读写磁盘上的文本数据或二进制数据。当然pandas库中也有一些用于将表格型数据读取到内存中的工具,我们后面也会接触到。
将数组以二进制格式保存到磁盘
np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中的。
2024年10月05日
访问flyai.club,一键创建你的人工智能项目
NumPy能够读写磁盘上的文本数据或二进制数据。这一小节只讨论NumPy的内置二进制格式,因为更多的用户会使用pandas或其它工具加载文本或表格数据。
np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中的:
如果文件路径末尾没有扩展名.npy,则该扩展名会被自动加上。然后就可以通过np.load读取磁盘上的数组:
2024年10月05日
在本节中,我们将学习
一些针孔相机会给图像带来明显的失真。两种主要的变形是径向变形和切向变形。径向变形会导致直线出现弯曲。
距图像中心越远,径向畸变越大。例如,下面显示一个图像,其中棋盘的两个边缘用红线标记。但是,您会看到棋盘的边框不是直线,并且与红线不匹配。所有预期的直线都凸出。有关更多详细信息,请访问“失真(光学)”。
2024年07月30日
在数据处理利器NumPy初识(三)中,我们介绍了NumPy中对ndarray数据的各种运算以及NumPy中广播机制的基本概念和用法。今天我们来看一下NumPy中随机数的相关内容和对ndarray的存储与加载。
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])等函数。下面我们分别看一下这几种随机数的用法。
2024年07月30日
前不久,谷歌公布了一项最新技术,可以教机器画画。今天,谷歌开源了代码。在我们研究其代码之前,首先先按要求设置Magenta环境。(https://github.com/tensorflow/magenta/blob/master/README.md)
本文详细解释了Sketch-RNN的TensorFlow代码,即之前发布的两篇文章《Teaching Machines to Draw》和《A Neural Representation of Sketch Drawings》中描述的循环神经网络模型(RNN)。
2024年07月30日
笔者博客(用tensorflow迁移学习猫狗分类)笔者讲到用tensorlayer的VGG16模型迁移学习图像分类,那麽问题来了,tensorlayer没提供的模型怎么办呢?别担心,tensorlayer提供了tensorflow中的slim模型导入功能,代码例子在tutorial_inceptionV3_tfslim。
2024年07月30日
#读/写文件 #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]
2024年07月30日
内容一览:本节讲解使用 TVMC 编译和优化模型。TVMC 是 TVM 的命令驱动程序,通过命令行执行 TVM 功能。本节是了解 TVM 工作原理的基础。