numpy dot(求问np.dot运算,二维数组乘以一维数组的时候的运算规则)

本文目录
- 求问np.dot运算,二维数组乘以一维数组的时候的运算规则
- 如何用python numpy产生一个正太分布随机数的向量或者矩阵
- 如何用BLAS实现等价的numpy.dot
- 求教深度学习python代码报错问题from numpy import random, dot,
求问np.dot运算,二维数组乘以一维数组的时候的运算规则
np.dot当其中某一参数为一维数组时,会自动将一维数组变为矩阵,对第二个参数的数组进行转置,然后进行矩阵乘法运算,最后结果还原成向量
第一种情况,[1,2]的shape由(3,)变为(1,3),[[[1,2],[3,4]]会转置为[[1,3],[2,4]]
1*1+2*3=7;1*3+2*4=10 =》 [7,10]
结果的shape为1*3X3*3 =》 (1,3),还原成向量,shape为(3,)
第二种情况,numpy中一维数组转置,shape为[3,1]。
1*1+2*2=5;3*1+4*2=11 =》 [5,11]
结果的shape为3*3X3*1 =》 (3,1),还原成向量,shape为(3,)
如何用python numpy产生一个正太分布随机数的向量或者矩阵
一般的正态分布可以通过标准正态分布配合数学期望向量和协方差矩阵得到。如下代码,可以得到满足一维和二维正态分布的样本。希望有用,如有错误,欢迎指正!
# coding=utf-8
import numpy as np
from numpy.linalg import cholesky
import matplotlib.pyplot as plt
sampleNo = 1000;
# 一维正态分布
# 下面三种方式是等效的
mu = 3
sigma = 0.1
np.random.seed(0)
s = np.random.normal(mu, sigma, sampleNo )
plt.subplot(141)
plt.hist(s, 30, normed=True)
np.random.seed(0)
s = sigma * np.random.randn(sampleNo ) + mu
plt.subplot(142)
plt.hist(s, 30, normed=True)
np.random.seed(0)
s = sigma * np.random.standard_normal(sampleNo ) + mu
plt.subplot(143)
plt.hist(s, 30, normed=True)
# 二维正态分布
mu = np.array([[1, 5]])
Sigma = np.array([[1, 0.5], [1.5, 3]])
R = cholesky(Sigma)
s = np.dot(np.random.randn(sampleNo, 2), R) + mu
plt.subplot(144)
# 注意绘制的是散点图,而不是直方图
plt.plot(s[:,0],s[:,1],’+’)
plt.show()
如何用BLAS实现等价的numpy.dot
numpy的许多函数不仅是用C实现了,还使用了BLAS(一般Windows下link到MKL的,Linux下link到OpenBLAS)。基本上那些BLAS实现在每种操作上都进行了高度优化,例如使用AVX向量指令集,甚至能比你自己用C实现快上许多,更不要说和用Python实现的比。
求教深度学习python代码报错问题from numpy import random, dot,
摘要 python标准异常
异常名称\x09描述
BaseException\x09所有异常的基类
SystemExit\x09解释器请求退出
KeyboardInterrupt\x09用户中断执行(通常是输入^C)
Exception\x09常规错误的基类
StopIteration\x09迭代器没有更多的值
GeneratorExit\x09生成器(generator)发生异常来通知退出
StandardError\x09所有的内建标准异常的基类
ArithmeticError\x09所有数值计算错误的基类
FloatingPointError\x09浮点计算错误
OverflowError\x09数值运算超出最大限制
ZeroDivisionError\x09除(或取模)零 (所有数据类型)
AssertionError\x09断言语句失败
AttributeError\x09对象没有这个属性
EOFError\x09没有内建输入,到达EOF 标记
EnvironmentError\x09操作系统错误的基类
IOError\x09输入/输出操作失败
OSError\x09操作系统错误
WindowsError\x09系统调用失败
ImportError\x09导入模块/对象失败
LookupError\x09无效数据查询的基类
IndexError\x09序列中没有此索引(index)
KeyError\x09映射中没有这个键
MemoryError\x09内存溢出错误(对于Python 解释器不是致命的)
NameError\x09未声明/初始化对象 (没有属性)
UnboundLocalError\x09访问未初始化的本地变量
ReferenceError\x09弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError\x09一般的运行时错误
NotImplementedError\x09尚未实现的方法
SyntaxError\x09Python 语法错误
IndentationError\x09缩进错误
TabError\x09Tab 和空格混用
SystemError\x09一般的解释器系统错误
TypeError\x09对类型无效的操作
ValueError\x09传入无效的参数
UnicodeError\x09Unicode 相关的错误
UnicodeDecodeError\x09Unicode 解码时的错误
UnicodeEncodeError\x09Unicode 编码时错误
UnicodeTranslateError\x09Unicode 转
咨询记录 · 回答于2021-08-09
求教深度学习python代码报错问题from numpy import random, dot, exp, arraydef fp(input): l1 = 1/(1+exp(-dot(input, w0))) l2 = 1/(1+exp(-dot(l1, w1))) return l1, l2def bp(l1, l2, y): error = y - l2 slope = l2 * (1-l2) l1_delta = error * slope l0_slope = l1 * (1-l1) l0_error = l1_delta.dot(w1.T) l0_delta = l0_slope * l0_error return l0_delta, l1_deltaX = array([0,0,1], [0,1,1], [1,0,1], [1,1,1])Y = array([0,1,1,0]).Trandom.seed(1)w0 = random.random((3,4)) * 2 - 1w0 = random.random((4,1)) * 2 - 1for it in range(10000): l0 = X l1, l2 = fp(l0) l0_delta, l1delta = bp(l1, l2, y) w1= w1 + dot(l1.T, l1_delta) w0= w0 + dot(l0.T, l0_delta)print(fp([0,0,0]))
python标准异常
异常名称\x09描述
BaseException\x09所有异常的基类
SystemExit\x09解释器请求退出
KeyboardInterrupt\x09用户中断执行(通常是输入^C)
Exception\x09常规错误的基类
StopIteration\x09迭代器没有更多的值
GeneratorExit\x09生成器(generator)发生异常来通知退出
StandardError\x09所有的内建标准异常的基类
ArithmeticError\x09所有数值计算错误的基类
FloatingPointError\x09浮点计算错误
OverflowError\x09数值运算超出最大限制
ZeroDivisionError\x09除(或取模)零 (所有数据类型)
AssertionError\x09断言语句失败
AttributeError\x09对象没有这个属性
EOFError\x09没有内建输入,到达EOF 标记
EnvironmentError\x09操作系统错误的基类
IOError\x09输入/输出操作失败
OSError\x09操作系统错误
WindowsError\x09系统调用失败
ImportError\x09导入模块/对象失败
LookupError\x09无效数据查询的基类
IndexError\x09序列中没有此索引(index)
KeyError\x09映射中没有这个键
MemoryError\x09内存溢出错误(对于Python 解释器不是致命的)
NameError\x09未声明/初始化对象 (没有属性)
UnboundLocalError\x09访问未初始化的本地变量
ReferenceError\x09弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError\x09一般的运行时错误
NotImplementedError\x09尚未实现的方法
SyntaxError\x09Python 语法错误
IndentationError\x09缩进错误
TabError\x09Tab 和空格混用
SystemError\x09一般的解释器系统错误
TypeError\x09对类型无效的操作
ValueError\x09传入无效的参数
UnicodeError\x09Unicode 相关的错误
UnicodeDecodeError\x09Unicode 解码时的错误
UnicodeEncodeError\x09Unicode 编码时错误
UnicodeTranslateError\x09Unicode 转
UnicodeTranslateError\x09Unicode 转换时错误
Warning\x09警告的基类
DeprecationWarning\x09关于被弃用的特征的警告
FutureWarning\x09关于构造将来语义会有改变的警告
OverflowWarning\x09旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning\x09关于特性将会被废弃的警告
RuntimeWarning\x09可疑的运行时行为(runtime behavior)的警告
SyntaxWarning\x09可疑的语法的警告
UserWarning\x09用户代码生成的警告
你好,一般的异常分为以下一些,如果您编译运行之后出行以下的代码异常就就按照提示解决就可以了呢。
异常处理
捕捉异常可以使用try/except语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。
语法:
以下为简单的try....except...else的语法:
try:
#运行别的代码
except :
#如果在try部份引发了’name’异常
except ,:
#如果引发了’name’异常,获得附加的数据
else:
#如果没有异常发生
try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。
如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印默认的出错信息)。
如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。

更多文章:
turtles歌曲(哪位大神有turtles(乌龟组合)的<谢谢>的歌词中文翻译 感激不尽)
2026年10月11日 10:00
金山铁路22号线(请问现在轨道交通22号线金山铁路是个什么情况据说9月28日就开通了啊~~~)
2026年10月11日 09:10
repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026年10月11日 09:00
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40



