Sagemaker Notebook 实例使用 tweepy api 非常慢

问题描述 投票:0回答:0

我使用 tweepy 从文件中收集的推文有超过 700,000 个推文 ID。在本地,我有 I7 处理器和 16 GB 内存,我在这些 IDE 上进行循环以获取全文、地理、坐标和位置属性。

通过使用 tqdm 库,它表明 2.5 次迭代由秒完成,非常慢

之后我使用了 sagemaker 实例: 1 - ml.m5.4xlarge = 64 GB 内存和 16 个 vCPU 2 - ml.m5.12xlarge = 192 GB 内存和 48 个 vCPU

这两个实例给了我相同的结果也大约每秒 2.5 次迭代,相同的结果,怎么可能?

然后我使用免费的 sagemaker studio 实验室,每天给我 12 个小时,这是最快的,它给了我大约每秒 6 次迭代

sample = anger['id'][:100000]
tweets = []
geos =[]
coords =[]
places =[]
ids = []
for i in tqdm(sample.index):
    
    id = sample[i]
    # get the tweet
    #ids.append(id)
  
    try:
        status = api.get_status(id, tweet_mode='extended')
        text = status._json['full_text']
        geo = status.geo
        coordinates = status.coordinates
        place = status.place
        
        ids.append(id)
        tweets.append(text)
        geos.append(geo)
        coords.append(coordinates)
        places.append(place)
        
    except tweepy.errors.TweepyException as e:
        #print(i)
        pass

创建数据框

data = {
'id' : ids,    'text': tweets,    'geo': geos,    'coordinates': coords,    'places':places   } 

 anger_dataframe =pd.DataFrame(data)

anger_dataframe.to_csv('anger_dataframe.csv', encoding='utf-8-sig')

块引用

我的第一个问题: 为什么具有这些资源的 sagemaker 实例给我相同的结果并且与我的本地资源没有区别。 而且 sagemaker studio lab 每秒给我大约 6 次迭代,但这对我来说还不够,我有 600 万个 ides 需要收集。

第二个问题: for循环是否有任何增强以运行得更快.

资源:

1- https://studiolab.sagemaker.aws/

2- https://pypi.org/project/tqdm/

machine-learning tweepy amazon-sagemaker data-collection amazon-sagemaker-studio
© www.soinside.com 2019 - 2024. All rights reserved.