np.random.randn()

诶哟图丢了

randn(d0, d1, …, dn)

从标准正态分布返回一个或多个样本。

如果提供了正的int参数,randn生成一个形状为(d0, d1, …, dn)的数组,其中填充了从均值为0且方差为1的正态分布中采样的随机浮点。如果没有提供参数,则返回一个浮点数。

欲得到均值为μ且方差为σ的正太分布则对返回值ret进行简单变化ret=ret*sigma+mu即可。

# -*- coding: utf-8 -*-
import numpy as np
import PIL.Image as Image
import matplotlib.pyplot as pyp

pyp.figure(figsize=(15, 3), dpi=96)
SHAPE = (28, 28)
ROW, COL, index = 1, 4, 0
POINT_SIZE, FONT_SIZE = 5, 10
img = np.random.randn(*SHAPE)
flatted = np.reshape(img, (-1,))
size_ = min(len(flatted), 255)
mu, sigma = 2, .25

index += 1
x_0, x_1, x_2, y = [], [], [], []
for i in range(size_):
    x_0.append(flatted[i])
    x_1.append(flatted[i]+mu)  # flatted=flatted+mu
    x_2.append(flatted[i]*sigma+mu)  # flatted=flatted*sigma+mu
    y.append(i/size_)
pyp.subplot(ROW, COL, index)
pyp.legend(
    (
        pyp.scatter(x_0, y, s=POINT_SIZE, c='#ff8800'),
        pyp.scatter(x_1, y, s=POINT_SIZE, c='#ff0088'),
        pyp.scatter(x_2, y, s=POINT_SIZE, c='#0088ff')
    ),
    (u'Standard', u'μ=%.2f' % mu, u'μ=%.2f and σ=%.2f' % (mu, sigma)),
    loc=2
)
pyp.title('Numpy: Gaussian distribution ', fontsize=FONT_SIZE)

index += 1
pyp.subplot(ROW, COL, index)
pyp.imshow(Image.fromarray((img)*255))
pyp.axis('off')

index += 1
pyp.subplot(ROW, COL, index)
pyp.imshow(Image.fromarray((img+mu)*255))
pyp.axis('off')

index += 1
pyp.subplot(ROW, COL, index)
pyp.imshow(Image.fromarray((img+mu)*sigma*255))
pyp.axis('off')

pyp.show()
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值