현재 대상을 공간적으로 스캔하고 각 개별 픽셀에서 오실로스코프 추적을 가져 오는 실험을 수행 중입니다. 일반적으로 내 추적 길이는 200Kpts입니다. 전체 대상을 스캔 한 후 공간적으로이 시간 영역 신호를 조합하여 본질적으로 스캔 한 내용의 동영상을 재생합니다. 내 스캔 영역은 크기가 330x220 픽셀이므로 전체 데이터 세트는 사용해야하는 컴퓨터의 RAM보다 큽니다.읽기/쓰기 속도에 맞게 HDF5 데이터 세트 최적화
시작하려면 각 오실로스코프 추적을 줄무늬 배열로 저장 한 다음 내 스캔이 다운 샘플링/필터링을 완료 한 후 메모리 문제가 발생하지 않는 방식으로 동영상을 연결하는 작업을 시작했습니다. 그러나 이제는 앨리어싱이 발생하고 원시 데이터에 액세스해야하므로 다운 샘플링이 불가능한 시점에 있습니다.
대형 3D 데이터 블록을 H5py를 사용하여 HDF5 데이터 세트에 저장하기 시작했습니다. 내 주요 문제는 내 청크 크기 할당입니다. 내 수신 데이터는 내가 그것을 읽어하고자하는 평면에 직교 내 데이터를 작성 (내 지식) 내 주요 옵션은 다음과 같습니다.
#Fast write Slow read
with h5py.File("test_h5py.hdf5","a") as f:
dset = f.create_dataset("uncompchunk",(height,width,dataLen),chunks = (1,1,dataLen), dtype = 'f')
for i in range(height):
for j in range(width):
dset[i,j,:] = np.random.random(200000)
또는
#Slow write Fast read
with h5py.File("test_h5py.hdf5","a") as f:
dset = f.create_dataset("uncompchunk",(height,width,dataLen),chunks = (height,width,1), dtype = 'f')
for i in range(height):
for j in range(width):
dset[i,j,:] = np.random.random(200000)
가 있는가 어떤 경우에도 두 경우를 최적화 할 수 없으므로 둘 다 실행하기가 비효율적입니까?
당신이 사전에 데이터 세트의 크기를 알고, 압축을 사용하지 않으려면 , 연속 된 저장소 (즉, 청크 없음)를 사용할 수 있습니다. 그걸 시도해 볼 수 없니? – titusjan