V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  necomancer  ›  全部回复第 25 页 / 共 32 页
回复总数  634
1 ... 17  18  19  20  21  22  23  24  25  26 ... 32  
2018-11-12 17:41:50 +08:00
回复了 zynlp 创建的主题 程序员 分享一个算法可视化的网站,
mark
2018-11-11 02:23:40 +08:00
回复了 songdg 创建的主题 Python 请教为什么不相等
一般 numpy 比较的时候用 np.isclose 或者 np.allclose

In [1]: arr = np.array([3.12, 3.43, 3.77, 4.15, 4.57],dtype=np.float32)

In [2]: np.isclose(arr[-1], 4.57)
Out[2]: True

浮点数一般不直接做相等,除非 dtype 也是一样的。python 里的小数一般是 np.float64

In [4]: arr = np.array([3.12, 3.43, 3.77, 4.15, 4.57],dtype=np.float64)

In [5]: arr[-1] == 4.57
Out[5]: True

我记得 numpy 官网文档里提过建议用 np.isclose()
2018-11-08 00:39:03 +08:00
回复了 fox1955 创建的主题 Linux [最效率软件] 平铺式桌面。结论令人震惊!
@Havee 哈哈哈哈
2018-11-08 00:06:56 +08:00
回复了 swordspoet 创建的主题 Python 求解一道关于列表和字典 Python 问题
t = sorted(data, key=(lambda x : (x['a'], x['b'])))
ret = [[]]
for prv, nxt in zip(t[:-1], t[1:]):
....tmp = ret[-1]
....tmp.append(prv)
....if prv['a']!=nxt['a']:
........ret.append([])
tmp = ret[-1]
tmp.append(t[-1])
2018-11-06 15:11:17 +08:00
回复了 Amone 创建的主题 Python 问个 Python 遍历的问题
import uuid
print('%s' % (uuid.uuid4()))

试试。有其他要求请看
help(uuid.uuid1)
help(uuid.uuid3)
help(uuid.uuid4)
help(uuid.uuid5)
2018-10-31 11:00:27 +08:00
回复了 mishini 创建的主题 音乐 有那种教人看懂指挥的 APP 或者网站吗?
没什么太多的意思,有一些关于乐队指挥的书。最好最快能理解指挥动作的方法是进乐队参加一次演奏。这个一般人机会不多,可以考虑参加快闪。其实合奏一次很快就能理解指挥是干什么的,合奏过程中你会发现他 /她每一个动作似乎都很清晰,一个眼神、点一下头或者手上一个细微的动作似乎都能理解他的意图。因为演奏时你知道乐谱,知道身边人在做什么,清楚自己在做什么,指挥只是给你一个“你这时候应该这么做”的提示。
2018-10-31 00:34:44 +08:00
回复了 Applenice 创建的主题 程序员 V 友们给推荐款笔记本吧
不求轻薄看看 precision 吧。
2018-10-28 23:23:15 +08:00
回复了 void1900 创建的主题 Linux 有人在 archlinux 下配置过 三指拖拽吗?
2018-10-28 23:06:32 +08:00
回复了 stdying 创建的主题 程序员 6000--7000 之间预算笔记本推荐,女生用
MS surface pro
2018-10-16 10:48:40 +08:00
回复了 songdg 创建的主题 Python 求解析一下这个函数的原理
2018-10-13 12:44:17 +08:00
回复了 fangyh09 创建的主题 Linux 服务器间拷贝文件 大家有什么好用的工具推荐吗
可以考虑 NFS 系统吗?相当于三个服务器共用硬盘。
2018-10-12 20:24:35 +08:00
回复了 Mohanson 创建的主题 Python 最近在看冈萨雷斯的数字图像处理
厉害
2018-09-28 00:31:34 +08:00
回复了 xinhangliu 创建的主题 Python Numpy 两个矩阵部分维度相乘,有没有很快的方法?
不客气。我很久没鼓捣过这玩意儿了,我记得 numba 的各路 jit 处理这个问题是很嗨的,你要是经常遇到这种问题,去看看 numba 吧,有 GPU 加速更开心 ^_^

In [1]: from numba import guvectorize, float64

In [2]: a = np.random.random((100000,2,2))

In [3]: b = np.random.random((100000,2,2))

In [4]: c = np.matmul(a, b)

In [5]: d = np.array([np.dot(i,j) for i,j in zip(a,b)])

In [6]: @guvectorize([(float64[:,:],float64[:,:], float64[:,:])], '(n,m),(m,n)->(n,n)', target='parallel') #target='cpu','gpu'
...: def mydot(a,b,res):
...: for i in range(res.shape[0]):
...: for j in range(res.shape[1]):
...: tmp = 0.
...: for k in range(a.shape[1]):
...: tmp += a[i, k] * b[k, j]
...: res[i, j] = tmp
...:

In [7]: e = mydot(a, b)

In [8]: np.allclose(c,e)
Out[8]: True

In [9]: np.allclose(c,d)
Out[9]: True

In [10]: %timeit mydot(a,b)
234 µs ± 4.02 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

In [11]: %timeit np.array(list(map(np.dot, a, b)))
210 ms ± 2.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [12]: %timeit np.array([np.dot(i,j) for i, j in zip(a,b)])
235 ms ± 5.87 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [13]: %timeit np.matmul(a,b)
41.1 ms ± 90 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
2018-09-27 23:53:12 +08:00
回复了 xinhangliu 创建的主题 Python Numpy 两个矩阵部分维度相乘,有没有很快的方法?
加上 vectorize 的:

In [28]: def mydot(a, b):
...: return np.dot(a,b)
...:
...:

In [29]:

In [29]: vmydot = np.vectorize(mydot, signature='(n,m),(m,n)->(n,n)')

In [30]: e = vmydot(a, b)

In [31]: np.allclose(d,e)
Out[31]: True

In [32]: %timeit vmydot(a,b)
467 ms ± 4.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
2018-09-27 22:31:48 +08:00
回复了 xinhangliu 创建的主题 Python Numpy 两个矩阵部分维度相乘,有没有很快的方法?
matmul(...)
matmul(a, b, out=None)

Matrix product of two arrays.

The behavior depends on the arguments in the following way.

- If both arguments are 2-D they are multiplied like conventional
matrices.
- If either argument is N-D, N > 2, it is treated as a stack of
matrices residing in the last two indexes and broadcast accordingly.
...

所以 np.matmul(m1, m2) 就行了。

In [1]: a = np.random.random((100000,2,2))

In [2]: b = np.random.random((100000,2,2))

In [3]: c = np.matmul(a, b)

In [4]: d = np.array([np.dot(i,j) for i,j in zip(a,b)])

In [5]: np.allclose(c,d)
Out[5]: True

In [6]: %timeit np.matmul(a,b)
41.1 ms ± 81.6 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)

In [7]: %timeit np.array([np.dot(i,j) for i, j in zip(a,b)])
231 ms ± 5.81 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
2018-09-25 20:25:19 +08:00
回复了 arvincaoo 创建的主题 MySQL 毫秒级的数据密度,做曲线图.数据源过滤
不过 histogram 函数应该可以…… histogram(time, bins=xxx, range=(xx, xx), weights=data),调整好 range 和 bins 就可以了吧。
2018-09-25 20:24:03 +08:00
回复了 arvincaoo 创建的主题 MySQL 毫秒级的数据密度,做曲线图.数据源过滤
我说错了……这个不叫 histogram …… 我的意思就是按天把数据加起来……横轴的时间就变成天,这样可以降低条数,但保留趋势
2018-09-25 20:22:52 +08:00
回复了 arvincaoo 创建的主题 MySQL 毫秒级的数据密度,做曲线图.数据源过滤
histogram? 比如按天 histogram 然后输出就成了每天数据的总和
2018-09-11 21:49:24 +08:00
回复了 loobert 创建的主题 Android 像 ios 原生邮箱 app 一样好用的安卓客户端推荐
newton mail
1 ... 17  18  19  20  21  22  23  24  25  26 ... 32  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2093 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 03:53 · PVG 11:53 · LAX 20:53 · JFK 23:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.