大模型痛并快乐着_个人页

个人头像照片 大模型痛并快乐着
个人头像照片
1
2
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2024年06月

  • 发表了文章 2024-06-09

    初次体验魔搭,问题一堆堆

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2024-06-17

    把ModelScope的文件下载模块好好改改吧,现在没几个模型能成功下载!

    经过进一步的代码调试,发现 模型文件下载基本都会进入parallel_download下载逻辑,也就是并行下载,默认的并行度(线程数是4)。

    parallel_download源码的基本实现逻辑就是构造了一个线程池,然后调用
    download_part_with_retry方法去下载文件。

    而download_part_with_retry方法里面也有一个无限循环(类似于http_get_file方法),代码片段如下:

    #

    retry = Retry(
    total=API_FILE_DOWNLOAD_RETRY_TIMES,
    backoff_factor=1,
    allowed_methods=['GET'])

    接下来就是无限循环的代码逻辑,问题就出在这,既然下载过程是无限循环(退出循环的唯一条件是文件下载完毕),为什么还要在代码里加一段最大重试次数的限制???

    什么垃圾代码 ???

    while True:
    try:
    with open(file_name, 'rb+') as f:
    f.seek(start)
    print("URL:",url)
    r = requests.get(
    url,
    stream=True,
    headers=get_headers,
    cookies=cookies,
    timeout=API_FILE_DOWNLOAD_TIMEOUT)
    for chunk in r.iter_content(
    chunk_size=API_FILE_DOWNLOAD_CHUNK_SIZE):
    if chunk: # filter out keep-alive new chunks
    f.write(chunk)
    progress.update(end - start)
    break
    except (Exception) as e: # no matter what exception, we will retry.
    retry = retry.increment('GET', url, error=e)
    logger.warning('Downloading: %s failed, reason: %s will retry' %
    (model_file_name, e))
    retry.sleep()

    踩0 评论1
  • 提交了问题 2024-06-17

    把ModelScope的文件下载模块好好改改吧,现在没几个模型能成功下载!

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息