- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python编程深度学习计算库之numpy由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
numpy是python下的计算库,被非常广泛地应用,尤其是近来的深度学习的推广。在这篇文章中,将会介绍使用numpy进行一些最为基础的计算.
numpy vs scipy 。
numpy和scipy都可以进行运算,主要区别如下 。
最近比较热门的深度学习,比如在神经网络的算法,多维数组的使用是一个极为重要的场景。如果你熟悉tensorflow中的tensor的概念,你会非常清晰numpy的作用。所以熟悉numpy可以说是使用python进行深度学习入门的一个基础知识.
安装 。
1
2
3
4
5
6
7
|
liumiaocn:tmp liumiao$ pip install numpy
collecting numpy
downloading https:
/
/
files.pythonhosted.org
/
packages
/
b6
/
5e
/
4b2c794fb57a42e285d6e0fae0e9163773c5a6a6a7e1794967fc5d2168f2
/
numpy
-
1.14
.
5
-
cp27
-
cp27m
-
macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (
4.7mb
)
100
%
|████████████████████████████████|
4.7mb
284kb
/
s
installing collected packages: numpy
successfully installed numpy
-
1.14
.
5
liumiaocn:tmp liumiao$
|
确认 。
1
2
3
4
5
6
7
8
9
10
11
12
|
liumiaocn:tmp liumiao$ pip show numpy
name: numpy
version:
1.14
.
5
summary: numpy: array processing
for
numbers, strings, records,
and
objects.
home
-
page: http:
/
/
www.numpy.org
author: travis e. oliphant et al.
author
-
email: none
license: bsd
location:
/
usr
/
local
/
lib
/
python2.
7
/
site
-
packages
requires:
required
-
by:
liumiaocn:tmp liumiao$
|
使用 。
使用numpy的数组 。
使用如下例子简单来理解一下numpy的数组的使用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
liumiaocn:tmp liumiao$ cat np
-
1.py
#!/usr/local/bin/python
import
numpy as np
arr
=
[
1
,
2
,
3
,
4
]
print
(
"array arr: "
, arr)
np_arr
=
np.array(arr)
print
(
"numpy array: "
, np_arr)
print
(
"doulbe calc : "
,
2
*
np_arr)
print
(
"ndim: "
, np_arr.ndim)
liumiaocn:tmp liumiao$ python np
-
1.py
(
'array arr: '
, [
1
,
2
,
3
,
4
])
(
'numpy array: '
, array([
1
,
2
,
3
,
4
]))
(
'doulbe calc : '
, array([
2
,
4
,
6
,
8
]))
(
'ndim: '
,
1
)
liumiaocn:tmp liumiao$
|
多维数组&ndim/shape 。
ndim在numpy中指的是数组的维度,如果是2维值则为2,在下面的例子中构造一个步进为2的等差数列,然后将其进行维度的转换同时输出数组的ndim和shape的值以辅助对于ndim和shape含义的理解.
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
|
liumiaocn:tmp liumiao$ cat np
-
2.py
#!/usr/local/bin/python
import
numpy as np
arithmetic
=
np.arange(
0
,
16
,
2
)
print
(arithmetic)
print
(
"ndim: "
,arithmetic.ndim,
" shape:"
, arithmetic.shape)
#resize to 2*4 2-dim array
arithmetic.resize(
2
,
4
)
print
(arithmetic)
print
(
"ndim: "
,arithmetic.ndim,
" shape:"
, arithmetic.shape)
#resize to 2*2*2 3-dim array
array
=
arithmetic.resize(
2
,
2
,
2
)
print
(arithmetic)
print
(
"ndim: "
,arithmetic.ndim,
" shape:"
, arithmetic.shape)
liumiaocn:tmp liumiao$ python np
-
2.py
[
0
2
4
6
8
10
12
14
]
(
'ndim: '
,
1
,
' shape:'
, (
8
,))
[[
0
2
4
6
]
[
8
10
12
14
]]
(
'ndim: '
,
2
,
' shape:'
, (
2
,
4
))
[[[
0
2
]
[
4
6
]]
[[
8
10
]
[
12
14
]]]
(
'ndim: '
,
3
,
' shape:'
, (
2
,
2
,
2
))
liumiaocn:tmp liumiao$
|
另外也可以使用reshape进行维度的调整.
等差数列&等比数列 。
numpy和matlab写起来有很多函数基本一样,比如等比数列和等差数列可以使用linspace和logspace进行.
logspace缺省的时候指的是以10给底,但是可以通过指定base进行设定 。
1
2
3
4
5
6
7
8
9
10
11
|
liumiaocn:tmp liumiao$ cat np
-
3.py
#!/usr/local/bin/python
import
numpy as np
print
(
"np.linspace(1,4,4):"
, np.linspace(
1
,
4
,
4
))
print
(
"np.logspace(1,4,4):"
, np.logspace(
1
,
4
,
4
))
print
(
"np.logspace(1,4,4,base=2):"
,np.logspace(
1
,
4
,
4
,base
=
2
))
liumiaocn:tmp liumiao$ python np
-
3.py
(
'np.linspace(1,4,4):'
, array([
1.
,
2.
,
3.
,
4.
]))
(
'np.logspace(1,4,4):'
, array([
10.
,
100.
,
1000.
,
10000.
]))
(
'np.logspace(1,4,4,base=2):'
, array([
2.
,
4.
,
8.
,
16.
]))
liumiaocn:tmp liumiao$
|
数组初始化 。
numpy提供了很方便的初始化的函数,比如 。
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
|
liumiaocn:tmp liumiao$ cat np
-
4.py
#!/usr/local/bin/python
import
numpy as np
print
(
"np.zeros(6):"
,np.zeros(
6
))
print
(
"np.zeros((2,3)):"
,np.zeros((
2
,
3
)))
print
(
"np.ones(6):"
,np.ones(
6
))
print
(
"np.ones((2,3)):"
,np.ones((
2
,
3
)))
print
(
"np.random.random(6):"
,np.random.random(
6
))
print
(
"np.random.random(6):"
,np.random.random(
6
))
print
(
"np.random.random((2,3)):"
,np.random.random((
2
,
3
)))
print
(
"np.random.seed(1234)"
)
np.random.seed(
1234
)
print
(
"np.random.random(6):"
,np.random.random(
6
))
print
(
"np.random.seed(1234)"
)
np.random.seed(
1234
)
print
(
"np.random.random(6):"
,np.random.random(
6
))
liumiaocn:tmp liumiao$ python np
-
4.py
(
'np.zeros(6):'
, array([
0.
,
0.
,
0.
,
0.
,
0.
,
0.
]))
(
'np.zeros((2,3)):'
, array([[
0.
,
0.
,
0.
],
[
0.
,
0.
,
0.
]]))
(
'np.ones(6):'
, array([
1.
,
1.
,
1.
,
1.
,
1.
,
1.
]))
(
'np.ones((2,3)):'
, array([[
1.
,
1.
,
1.
],
[
1.
,
1.
,
1.
]]))
(
'np.random.random(6):'
, array([
0.06909968
,
0.27468844
,
0.59127996
,
0.56973602
,
0.45985047
,
0.95384945
]))
(
'np.random.random(6):'
, array([
0.62996648
,
0.2824114
,
0.2698051
,
0.09262053
,
0.50862503
,
0.96600255
]))
(
'np.random.random((2,3)):'
, array([[
0.66880129
,
0.8834006
,
0.49458989
],
[
0.28335563
,
0.65711274
,
0.76726504
]]))
np.random.seed(
1234
)
(
'np.random.random(6):'
, array([
0.19151945
,
0.62210877
,
0.43772774
,
0.78535858
,
0.77997581
,
0.27259261
]))
np.random.seed(
1234
)
(
'np.random.random(6):'
, array([
0.19151945
,
0.62210877
,
0.43772774
,
0.78535858
,
0.77997581
,
0.27259261
]))
liumiaocn:tmp liumiao$
|
总结 。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我的支持。如果你想了解更多相关内容请查看下面相关链接 。
原文链接:https://blog.csdn.net/liumiaocn/article/details/80728029 。
最后此篇关于Python编程深度学习计算库之numpy的文章就讲到这里了,如果你想了解更多关于Python编程深度学习计算库之numpy的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
介绍篇 什么是MiniApis? MiniApis的特点和优势 MiniApis的应用场景 环境搭建 系统要求 安装MiniApis 配置开发环境 基础概念 MiniApis架构概述
我正在从“JavaScript 圣经”一书中学习 javascript,但我遇到了一些困难。我试图理解这段代码: function checkIt(evt) { evt = (evt) ? e
package com.fastone.www.javademo.stringintern; /** * * String.intern()是一个Native方法, * 它的作用是:如果字
您会推荐哪些资源来学习 AppleScript。我使用具有 Objective-C 背景的传统 C/C++。 我也在寻找有关如何更好地开发和从脚本编辑器获取更快文档的技巧。示例提示是“查找要编写脚本的
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。 想改善这个问题吗?更新问题,以便堆栈溢出为 on-topic。 6年前关闭。 Improve this
我是塞内加尔的阿里。我今年60岁(也许这是我真正的问题-笑脸!!!)。 我正在学习Flutter和Dart。今天,我想使用给定数据模型的列表(它的名称是Mortalite,请参见下面的代码)。 我尝试
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
学习 Cappuccino 的最佳来源是什么?我从事“传统”网络开发,但我对这个新框架非常感兴趣。请注意,我对 Objective-C 毫无了解。 最佳答案 如上所述,该网站是一个好地方,但还有一些其
我正在学习如何使用 hashMap,有人可以检查我编写的这段代码并告诉我它是否正确吗?这个想法是有一个在公司工作的员工列表,我想从 hashMap 添加和删除员工。 public class Staf
我正在尝试将 jQuery 与 CoffeScript 一起使用。我按照博客中的说明操作,指示使用 $ -> 或 jQuery -> 而不是 .ready() 。我玩了一下代码,但我似乎无法理解我出错
还在学习,还有很多问题,所以这里有一些。我正在进行 javascript -> PHP 转换,并希望确保这些做法是正确的。是$dailyparams->$calories = $calories;一条
我目前正在学习 SQL,以便从我们的 Magento 数据库制作一个简单的 RFM 报告,我目前可以通过导出两个查询并将它们粘贴到 Excel 模板中来完成此操作,我想摆脱 Excel 模板。 我认为
我知道我很可能会因为这个问题而受到抨击,但没有人问,我求助于你。这是否是一个正确的 javascript > php 转换 - 在我开始不良做法之前,我想知道这是否是解决此问题的正确方法。 JavaS
除了 Ruby-Doc 之外,哪些来源最适合获取一些示例和教程,尤其是关于 Ruby 中的 Tk/Tile?我发现自己更正常了 http://www.tutorialspoint.com/ruby/r
我只在第一次收到警告。这正常吗? >>> cv=LassoCV(cv=10).fit(x,y) C:\Python27\lib\site-packages\scikit_learn-0.14.1-py
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
我是一名优秀的程序员,十分优秀!