python 내에서 이미지 + 레이블 배치를로드하고 네트워크를 훈련 시키려고 할 때 몇 가지 문제가 있습니다. 한 쌍의 이미지로 작업하면서 한 이미지로 변환 한 다음 (예 : 두 이미지에서 동일한 픽셀을 평균하여) 네트워크로 피드합니다. 쌍의 수가 너무 많아서 (개별 이미지를 두 개씩 조합하여) 모두를 메모리에 저장하기 때문에 각 반복마다 각 배치를 만들고 네트워크에 제공하고 싶습니다. 입력 네트워크 계층이 정의되어Caffe : 미세 조정을 위해 python 내에서 이미지 및 레이블로드
solver = caffe.get_solver(path_to_solver_file)
: 내 이전 실험에서
layer {
name: "data"
type: "ImageData"
top: "data"
top: "label"
include {
phase: TRAIN
}
image_data_param {
batch_size: 1
new_height: 227
new_width: 227
}
}
layer {
name: "data"
type: "ImageData"
top: "data"
top: "label"
include {
phase: TEST
}
image_data_param {
batch_size: 1
new_height: 227
new_width: 227
}
}
, 나는 image_data_param 내부 소스 매개 변수를했다
나는이 방법으로 네트워크를 인스턴스화하고, 교육 및 테스트를 위해 이미지와 레이블이 포함 된 파일을 전달합니다. 내가 파이썬 내에서로드 원하는대로 그러나, 나는 source 매개 변수를 제거하지만, 다음과 같은 오류 있어요 :
0830 17:01:49.014819 1967923200 layer_factory.hpp:77] Creating layer data
I0830 17:01:49.014858 1967923200 net.cpp:91] Creating Layer data
I0830 17:01:49.014868 1967923200 net.cpp:399] data -> data
I0830 17:01:49.014890 1967923200 net.cpp:399] data -> label
I0830 17:01:49.014910 1967923200 image_data_layer.cpp:38] Opening file
I0830 17:01:49.014935 1967923200 image_data_layer.cpp:53] A total of 0 images.
Segmentation fault: 11
나는 아직이 점에 도착하지 않은,하지만 난을 인스턴스화 할 수있어 후
net.blobs["data"].data[...] = images
net.blobs["label"].data[...] = labels
net.step(1)
내가 미세 조정을 수행하는 (예를 들어, here 및 here) 예제와 튜토리얼을 검색하고 파이썬을 사용하여 테스트 : 네트워크, 나는 배치를로드하고 사용하여 SGD 최적화의 한 단계를 수행하기 위해 가고 있었다 그러나 대다수의 사람들은 테스트 단계에서 전달 경로에 대해서만 논의하지만 반면에 네트워크를 미세하게 튜닝하는 것은 파이썬 인터페이스에서 직접로드하는 것이 아니라 소스 매개 변수를 사용하여 교육 데이터 (레이블 및 이미지)를 정의합니다.
이 답변을 확인하십시오 : http://stackoverflow.com/a/39097123/5465000 – AHA