سلام
شما میتونید انجام بدید اما دردسر داره.مثلا میتونید از قابلیت stage استفاده کنید. اینجا باید برای هر مرحله یه دیتاست بسازید بعد خیلی معمولی تو لایه دیتا با stage مشخص میکنید هر فاز رو مثلا اینطور :
name: "CIFAR10"
layer {
name: "cifar"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
mirror: true
crop_size: 32
}
data_param {
source: "examples/cifar10/cifar10_train_leveldb_padding"
batch_size: 64
backend: LEVELDB
}
}
name: "CIFAR10"
state {
phase: TEST
stage: "val"
}
layer {
name: "cifar"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
mirror: true
crop_size: 32
}
data_param {
source: "examples/cifar10/cifar10_val_leveldb_padding"
batch_size: 64
backend: LEVELDB
}
}
name: "CIFAR10"
state {
phase: TEST
stage: "test"
}
layer {
name: "cifar"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
mirror: true
crop_size: 32
}
data_param {
source: "examples/cifar10/cifar10_test_leveldb_padding"
batch_size: 64
backend: LEVELDB
}
}
در سالور هم بصورت زیر تنظیمات رو مشخص میکنید
test_iter: 50
test_state: { stage: "valset" }
test_iter: 25
test_state: { stage: "testset" }
اینطور مدل رو میتونید روی ولیدیشن و همینطور تست ست خروجیش رو داشته باشید.
اگه ترین کردید و مدل دارید یعنی یه کفی مادل بدست اوردید میخوایید روی دیتای جدید تست کنید و حوصله کار بالا رو هم ندارید علاوه بر انجام تست بصورتی که تو ipynb در پوشه اگزمپلا اومده (باید با python کار کنید) میتونید از سویچ test استفاده کنید. یعنی یه دیتاست از اون تصاویر داشته باشید بعد با دستور زیر دقت شبکه رو روی اون بدست بیارید :
"caffe.exe" test -model examples/cifar10/cifar10_train_test.prototxt -weights examples/cifar10/snaps/Cifar10_iter_14.caffemodel -gpu 0 -iterations 100
pause
اون prototxt هم همون شبکه شماست با این تفاوت که بخش test ش دیتاست جدید شما رو داره تو خودش. ایتریشن اخر هم که میبینید بر اساس بچ سایزی هست که مشخص کردید . قبلا در این باره تو سایت در بخش اموزش کفی توضیح داده شده. اونجا رو چک کنید.