V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  kingmo888  ›  全部回复第 12 页 / 共 21 页
回复总数  402
1 ... 4  5  6  7  8  9  10  11  12  13 ... 21  
2017-05-13 23:40:47 +08:00
回复了 kingmo888 创建的主题 Python 这一行 Python 代码,如何更快的提高运算速度?
@EmdeBoas 已感谢,还是无法大幅解决我的问题(可能我技术渣渣,嘿嘿),但还是感谢。

data 是 pandas 中的 DataFrame 格式数据,牵扯到一个 df 切片的问题。目前我做这样的尝试:

循环之前,a=np.array(data['date'])
循环中,
b=a[a<=end]

index=len(b)

利用其行号来查找:
tmp_data = data.loc[data.index[index-window*251:index],:]

这样速度提升了 8 秒左右。全部循环完差不多 36s+。
2017-05-13 23:25:20 +08:00
回复了 kingmo888 创建的主题 Python 这一行 Python 代码,如何更快的提高运算速度?
@herozhang 这其实是并行中子函数的一部分了。所以并行不再考虑
2017-05-13 23:21:17 +08:00
回复了 kingmo888 创建的主题 Python 这一行 Python 代码,如何更快的提高运算速度?
@O14 感觉瓶颈就是 data 行数实在太大。
@EmdeBoas 并且 date 字段为 str,如果转 np.array,然后查找到匹配的数据集后再转换为 str,中间的时间损耗很大。
2017-05-13 23:09:23 +08:00
回复了 kingmo888 创建的主题 Python 这一行 Python 代码,如何更快的提高运算速度?
@EmdeBoas 你好,数据有 100 多万行
2017-05-11 10:11:09 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
@dqw 好奇葩,在 run 下放了一个 hdf5 的读取链接,然后读完就关闭,竟然也会导致子函数出现问题。
2017-05-11 09:31:07 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
@dqw 您好,您说的有道理。我做了这样一个测试:
在类 Test 中某个函数比如 mutil_test 内部实现多线程,如果直接在 Test().mutil_test()这种形式,多进程的子函数执行成功。如果把 mutil_test 放到类函数 run 下,执行 Test().run()就无法执行 mutil_test 中多进程调用的子函数。


另外,多进程中无法获取到__name__,但如果我在 init 阶段,复制 self.var1=123123,然后在子函数中打印的话,可以打印出来。
2017-05-10 17:57:51 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
@dqw 感谢。打印 self.__name__失败,情形是子进程 while True 下,主进程都结束了。说明打印失败了。。原因是?
2017-05-10 16:36:38 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
@dqw 现在的瓶颈是计算应该是。请问线程或进程绑核怎么搞。。
2017-05-10 13:53:41 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
@dqw
您看,我的需求是这样的:
数据已经按照类别放到了多个 HDF5 里,其中某个文件是 30G 左右( d1.h5 ),其中 d1 里面有 5000 多个 table。

计算逻辑:
一个基类,按照不同的需求分为 N 个子类。
之前是这样的:每一个子类读取 d1.h5,循环读取所有 table,然后计算。

哪种方式更合理呢?谢谢。
2017-05-10 13:49:16 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
@dqw 多线程是不是在一个进程之下了?我的需求是有大量的数据需要计算,同时数据还很多(几十 G ),需要迭代计算的。所以运算次数相当之多。

这种情况下,用多线程可以吗?


为了解决 I/O 以及计算耗时问题,已经买了一个带 SSD 的 24 核塔式服务器。
2017-05-10 10:57:13 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
@dqw 是的。我验证了这个问题。还有一个问题,请看这段代码:
```
import pandas as pd
import os, time
import multiprocessing
import numpy as np


class Mutilprocess_Test:
def __init__(self):
print('init:',os.getpid())

def run(self,i):
timesleep = np.random.rand()/3
#print()
time.sleep(timesleep)
print(i, 'run:', os.getpid(), timesleep)



if __name__ == '__main__':
pool = multiprocessing.Pool(processes=3)
for i in range(10):

pool.apply_async(Mutilprocess_Test().run, args=(i,))
pool.close()
pool.join()
```
这段代码中,类初始化时候的 pid 和 run 时候的 pid 不一样。

貌似 init 时的 pid 是主进程的。请问这是什么原因或者说应该怎样去理解呢?比如多进程运行不同的类——可能基类是一个,派生类不同,这时候如何对一些数据库连接、相同部分的数据调用的代码进行存放呢,是放到 init 中,还是放到 run 里各自取?

二者的区别会否导致数据都到各自进程下?

比如说,我有一个字典 d1,实际上所有子类都有用到这个字典 d1,这时候我把他放 main 进程中好,还是在 init 中初始化好,还是在 run 中好呢?
2017-05-09 21:54:27 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
@ltux 感谢,我表述有问题。直接上代码

https://gist.github.com/kingmo888/a7cdc36f77397f65ac19fb49f5795814

这种情况下,不会写入任何东西。
2017-05-08 23:30:32 +08:00
回复了 kingmo888 创建的主题 问与答 各位大神,我准备某宝买一台计算服务器,求指教。
@alcarl 嗯啊,谢谢。请问价格上有坑没?我朋友从上海的一家实体店买的(这家店也有淘宝),经转介绍,其给我报价比主贴要高 10%左右。
2017-05-08 10:41:09 +08:00
回复了 kingmo888 创建的主题 问与答 各位大神,我准备某宝买一台计算服务器,求指教。
@adcicloud 我要买物理机本地存放,跟运营商神马关系

@firefox12 就是自己买,放本地局域网。
2017-05-08 00:53:59 +08:00
回复了 kingmo888 创建的主题 问与答 各位大神,我准备某宝买一台计算服务器,求指教。
@alcarl V2 啥意思? 2683V3 实际上跟测试版就差别了一点点,价格翻倍噢。

32G 内存 1700 左右,而 16G 内存,800 多。实际有差别吗,没有的。
2017-05-07 11:20:02 +08:00
回复了 kingmo888 创建的主题 问与答 各位大神,我准备某宝买一台计算服务器,求指教。
@daolin998 我是用于计算用。没有托管需求。
2017-05-07 02:50:31 +08:00
回复了 kingmo888 创建的主题 问与答 各位大神,我准备某宝买一台计算服务器,求指教。
@Phant0m 二手服务器?刀片的吗?我不方面放啊,没机柜。我得塔式的,搁到随便个地方容易放啊。
山东济南联通,打开很卡。
2017-04-29 01:35:21 +08:00
回复了 kingmo888 创建的主题 云计算 谷歌的那个计算引擎,我改 windows 了。
@zander 最终试了一下 google driver。上传很快,下载更快 100M 的速度。话说,国外的带宽不花钱啊。


@msg7086 免费期嘛。我这个配置一个月$130,主要是 windows 授权费要$60
2017-04-28 23:57:28 +08:00
回复了 kingmo888 创建的主题 云计算 谷歌的那个计算引擎,我改 windows 了。
@zander 哪有按天的啊。
1 ... 4  5  6  7  8  9  10  11  12  13 ... 21  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3496 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 04:43 · PVG 12:43 · LAX 21:43 · JFK 00:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.