아카이브를 쉽게 다운로드, 확인, 추출
사용자에게 제공하려는 데이터 세트 또는 기타 아카이브가 있고 항상 최신 버전을 유지하며 올바르게 다운로드되도록 하려면 fastdownload
도움이 될 수 있습니다.
핍 사용:
pip install fastdownload
...또는 콘다를 사용하여:
conda install -c fastai fastdownload
fastdownload
사용하려는 상황은 사용 가능하게 하려는 일부 아카이브를 가리키는 하나 이상의 URL이 있고 사용자가 해당 아카이브를 올바르게 다운로드하고 최신 버전을 갖고 있으며 최대한 쉽게 다운로드할 수 있도록 하려는 경우입니다. 가능한 한 그들이 해당 아카이브의 정보에 접근할 수 있도록 하십시오.
사용자는 FastDownload.get
이라는 단일 메서드를 호출하여 필요한 URL을 전달하면 해당 URL이 다운로드되어 선택한 디렉터리에 추출됩니다. 추출된 파일의 경로가 반환됩니다. 해당 URL이 이미 다운로드된 경우 캐시된 아카이브 또는 콘텐츠가 자동으로 사용됩니다. 그러나 아카이브의 크기나 해시가 원래 크기와 다를 경우 사용자에게 알리고 새 버전이 다운로드됩니다.
나중에 하나 이상의 아카이브를 업데이트할 수 있습니다. 그렇게 하면 fastdownload
다운로드한 아카이브를 업데이트된 파일 크기 및 해시 정보와 비교하여 사용자가 최신 버전을 사용하도록 보장합니다.
예를 들어, fastai
fastdownload
사용하여 딥 러닝을 위한 데이터 세트에 대한 액세스를 제공합니다. fastai
사용자는 단일 명령으로 파일을 다운로드하고 추출할 수 있으며, 반환 값을 사용하여 파일에 액세스할 수 있습니다. 파일은 사용자의 homedir에 있는 .fastai
폴더의 적절한 하위 디렉터리에 자동으로 배치됩니다. 데이터 세트가 업데이트되면 사용자가 다음에 해당 데이터 세트를 사용할 때 알림을 받고 최신 버전이 자동으로 다운로드되어 추출됩니다.
사용자가 아카이브를 다운로드하면 fastdownload
가 이를 자동으로 디렉터리에 저장하고 크기와 해시가 일치하는지 확인한 후 콘텐츠를 추출합니다. 다운로드 및 추출에 대한 최소 사용량은 다음과 같습니다.
from fastdownload import FastDownloadd = FastDownload()path = d.get('https://...')
그 다음 path
추출된 파일이 있는 경로가 포함됩니다. 기본적으로 아카이브는 {base}/archive
에 저장되고 {base}/data
에 추출됩니다. {base}
의 기본값은 ~/.fastdownload
입니다. 다운로드한 아카이브의 루트에 파일이나 폴더가 두 개 이상 있는 경우 콘텐츠에 대한 data
에 새 폴더가 생성됩니다.
get
대신 download
사용하여 URL을 추출하지 않고 다운로드하거나 extract
하여 URL을 다운로드하지 않고 추출합니다( archive
디렉터리에 이미 다운로드했다고 가정). 이러한 모든 방법은 아카이브가 이미 존재하더라도 아카이브를 다운로드/추출하는 force
매개변수를 허용합니다.
FastDownload
에 전달하여 base
, archive
및 data
경로 중 일부 또는 전부를 변경할 수 있습니다.
d = FastDownload(기본='~/.mypath', 아카이브='다운로드됨', 데이터='추출됨')
rm
사용하여 캐시된 아카이브 파일 및/또는 추출된 내용을 제거할 수 있습니다.
d.rm('https://...')
fastdownload
아카이브의 파일 크기와 해시가 포함된 download_checks.py
파일을 Python 모듈에 추가합니다. 파일은 선택한 모듈과 동일한 디렉토리에 있습니다. 예:
d = FastDownload(모듈=fastai.some_module)
그런 다음 update
사용하여 URL의 크기와 해시를 생성하거나 업데이트합니다.
d.update('https://...')
이제 fastai.some_module
이 있는 동일한 디렉터리에 download_checks.py
라는 파일이 있다는 것을 알 수 있습니다. 이 파일에는 이 파일의 URL, 크기 및 해시가 포함된 Python 사전이 포함되어 있습니다. 이전에 archive
경로에 이 파일을 다운로드한 경우 새 복사본을 다운로드하는 대신 해당 파일이 사용됩니다. 아카이브에 새 복사본이 있는 경우 먼저 get(force=True)
사용하여 새 복사본을 다운로드하세요.
base
디렉터리에 config.ini
라는 파일이 있으면 키 archive
및 data
FastDownload
의 기본값으로 사용됩니다. 파일은 configparser 형식이어야 합니다. 다음은 config.ini
샘플입니다.
[DEFAULT] archive = downloaded data = extracted
ini 파일이 없으면 FastDownload
에 전달한 세부 정보를 사용하여 자동으로 생성됩니다.
원하는 구성 파일에 추가 키/값 쌍을 추가할 수 있습니다. FastDownload.get
호출할 때 extract_key
전달하여 추출할 위치를 선택하기 위해 data
이외의 키를 사용합니다.