سلام.
من یادم نمیاد جایی از سایت گفته باشم از بیلد دیباگ استفاده کنید اتفاقا برعکس! اگر جایی این مساله هست لطفا آدرس بدید تا تصحیح بشه.
برنچ ویندوز مربوط به کفی اخیرا تغییر پیدا کرده و دیگه برنچ مایکروسافت نیست. و برای کامپایل اون از cmake استفاده میشه هرچند solutionهای ویژوال استودیو هنوز هست. با توجه به اینها من نمیدونم بخاطر نوع بیلد این اتفاق افتاده یا شما چیزی رو از قلم انداختید.
لطفا در تلگرام یک پیام به بنده بدید تا با تیم ویوءر من یه نگاهی بندازم .
ضمنا برنچ من ,منظور برنچی هست که من ایجاد کردم .'من' اسم یه برنچ نیست.
به هر حال برای خالی نبودن عریضه من یه توضیحی از نحوه ایجاد دیتاست ام نیست میدم
آخرین کدی که برای ایجاد دیتاست ام نیست در برنچ من قرار داده شده کد زیر هست که از اینجا قابل دیدن و دانلود هست (این کد بارها تست شده و اگر کسی از این برنچ استفاد کنه هیچ مشکلی نباید داشته باشه) :
ECHO OFF
ECHO ATTENTION
ECHO This script converts the mnist data into lmdb/leveldb format,
ECHO depending on the value assigned to BACKEND.
ECHO lmdb sometimes crashes on windows, if this happens, use leveldb
ECHO and make sure to change your prototxt to address this change (i.e change all lmdbs to leveldb!)
ECHO
SET currentDirectory=%~dp0
SET ROOT=%currentDirectory:~0,-15%
SET MNIST_DIR=%currentDirectory:~0,-1%
SET DATA=%ROOT%data\mnist
SET BUILD=%ROOT%Build\x64\Release
SET BACKEND=lmdb
echo "Creating %BACKEND%..."
rd /s /q "%MNIST_DIR%\mnist_train_%BACKEND%"
rd /s /q "%MNIST_DIR%\mnist_test_%BACKEND%"
"%BUILD%\convert_mnist_data.exe" %DATA%\train-images-idx3-ubyte
%DATA%\train-labels-idx1-ubyte mnist_train_%BACKEND% --backend=%BACKEND%
"%BUILD%\convert_mnist_data.exe" %DATA%\t10k-images-idx3-ubyte
%DATA%\t10k-labels-idx1-ubyte mnist_test_%BACKEND% --backend=%BACKEND%
echo "Done."
PAUSE
اما برای اون کسایی که مشکل دارن و یا میخوان بدون استفاده از این اسکریپت دیتاست رو درست کنن میتونن از دستورات زیر استفاده کنن :
کلا ما برای تبدیل دیتاست mnist
از یک فایل بنام convert_mnist_data.exe استفاده میکنیم که موقع کامپایل caffe این هم ساخته میشه. مثل همین فایل بنام convert_data_cifar.exe وجود داره که برای دیتاست CIFAR10 بکار میره . یک فایل دیگه هم هست بنام convert_imageset.exeکه برای تبدیل دیتاست های ما به فرمت lmdbیا leveldb ازش استفاده میکنیم .
نحوه کار به این صورت هست که شما باید به این فایل پارامترهای مورد نیازش رو ارسال کنید تا یک دیتاست با فرمت مورد نظر شما بشما اراپه کنه . اگر اونفایل رو بدون هیچ ارگومانی اجرا کنید با لیستی مواجه میشید که بشما میگیه چه چیزی نیاز هست.
زمانی که شما دیتای ام نیست رو دانلود میکنید ۴ تا فایل بدست میارید . دو فایل مربوط به ترین و دو فایل هم مربوط به تست ست شما هست . که یکی دیتاست و دیگری لیبل مربوط به هر بخش هست.
نحوه فراخونی هم خیلی ساده اس و میتونید بشکل زیر این کار رو انجام بدید . من هر ارگومان رو جداگونه زیر هم مینویسم تا مشخص باشه . شما موقع استفاده همه رو در یک خط بنویسید با یک اسپیس فاصله!.
بخش اول مسیر خود فایل اجرایی ما هست .
بخش دوم فایل حاوی تصاویر آموزشی ما هست . بخش سوم هم لیبل مربوط به تصاویر آموزشی ما هست . بخش چهارم هم نامی هست که دیتاست با اون نام ایجاد میشه. و بخش آخر هم فرمت دیتابیس ما هست در اینجا ما lmdb رو مشخص کردیم . (میتونستیم leveldbهم بنویسیم.)
"Build\X64\Release\convert_mnist_data.exe"
Data\mnist\train-images-idx3-ubyte
Data\mnist\train-labels-idx1-ubyte
mnist_train_lmdb
--backend=lmdb
برای تست ست هم به همین شکل عمل میکنیم .
"Build\X64\Release\convert_mnist_data.exe"
Data\mnist\t10k-images-idx3-ubyte
Data\mnist\t10k-labels-idx1-ubyte mnist_test_lmdb --backend=lmdb