بسم الله الرحمن الرحیم
امروز نحوه نصب کفی با استفاده از cmakeدر ویندوز رو آموزش میدم
قبل از نصب کفی شما باید موارد زیر رو دانلود و نصب کنید .
- Cmake موقع نصب حتما حواستون باشه تیک مربوط به اضافه کردن cmake به path رو بزنید. اگر نزدید باید بعد نصب خودتون دستی به path اضافه کنید. برای اینکه بفهمید همه چیز اکی هست میتونید cmd رو باز کنید و بنویسید cmake.exe باید اجرا بشه. اگه خطا داد که چنین دستوری پیدا نشد یعنی یا نصب نکردید یا به path اضافه نکردید.
- Visual Studio 2015/2013 الان ترجیح با ۲۰۱۵ هست . ویژوال استودیو ۲۰۱۵ از هر دو ورژن پایتون(۲ و ۳) پشتیبانی میکنه . اما ۲۰۱۳ فقط از پایتون ۲٫ دقت کنید موقع نصب حتما Visual C++ با پکیج هاش نصب بشه! وگرنه با خطا مواجه میشید!
- Cuda 8
- cudnn 5.1 یا ۶
- Anaconda3 یا Anaconda2 الان ترجیح با ۳ هست چون میخوایم بعدا از تنسورفلو و کراس هم استفاده کنیم(تو آموزش بعدی ) و مشکلی نباشه و مجبور به دانلود یک اناکوندای اضافی برای بقیه نباشیم
اگه هیچ علاقه ای به نصب تنسورفلو و کراس و… ندارید و کلا با اناکوندا ۲ خوبید خب همین برای کفی کفایت میکنه .
بخش زیر مخصوص کسایی هست که دوست دارن از پایتون ۳٫۵ استفاده کنن . اگه قصد استفاده از پایتون۲٫۷ رو دارید یا اصلا دوست ندارید wrapper پایتون ایجاد کنید نیازی به طی این مسیر نیست و مستقیما به بخش آموزش کفی برید.
پکیج از پیش کامپایل شده کفی هم در انتهای آموزش قرار داده شده برای کسایی که نیاز به تست دارن یا قصد انجام آموزش رو ندارن
نکته مهم :
پشتیبانی از پایتون ۳٫۶ در اخرین بیلد برنچ من انجام شده و دیگه نیازی به انجام مرحله آماده سازی پایتون ۳٫۵ ندارید. دقت کنید نسخه رسمی کفی در ویندوز فقط از پایتون ۳٫۵ پشتیبانی میکنه و نه بیشتر. اگر قصد استفاده از نسخه کامل کفی در ویندوز رو دارید از برنچی که لینکش در بالا اومده استفاده کنید.
بسم الله الرحمن الرحیم
آماده سازی و کامپایل Caffe :
از بخش ابزارهای سایت روی برنچ ویندوز کَفِی کامل کلیک و آخرین ورژن کفی رو دانلود میکنید. بعد از دانلود از حالت زیپ خارجش میکنید. حالا وارد کفی میشید .
وارد پوشه scripts بشید و اونجا فایل
build_win.cmd رو با نوت پد یا ترجیحا
notepad++ باز کنید .
فرمت این فایل بشکل زیر هست
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
@echo off @setlocal EnableDelayedExpansion :: Default values if DEFINED APPVEYOR ( echo Setting Appveyor defaults if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 if NOT DEFINED WITH_NINJA set WITH_NINJA=0 if NOT DEFINED CPU_ONLY set CPU_ONLY=1 if NOT DEFINED CUDA_ARCH_NAME set CUDA_ARCH_NAME=Auto if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release if NOT DEFINED USE_NCCL set USE_NCCL=0 if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3.6 if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python if NOT DEFINED RUN_TESTS set RUN_TESTS=1 if NOT DEFINED RUN_LINT set RUN_LINT=1 if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1 :: Set python 2.7 with conda as the default python if !PYTHON_VERSION! EQU 2.7 ( set CONDA_ROOT=C:\Miniconda-x64 ) :: Set python 3.6 with conda as the default python if !PYTHON_VERSION! EQU 3.6 ( set CONDA_ROOT=C:\Miniconda36-x64 ) :: Set python 3.5 with conda as the default python if !PYTHON_VERSION! EQU 3.5 ( set CONDA_ROOT=C:\Miniconda35-x64 ) set PATH=!CONDA_ROOT!;!CONDA_ROOT!\Scripts;!CONDA_ROOT!\Library\bin;!PATH! :: Check that we have the right python version !PYTHON_EXE! --version :: Add the required channels conda config --add channels conda-forge conda config --add channels willyd :: Update conda conda update conda -y :: Download other required packages conda install --yes cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz if ERRORLEVEL 1 ( echo ERROR: Conda update or install failed exit /b 1 ) :: Install cuda and disable tests if needed if !WITH_CUDA! == 1 ( call %~dp0\appveyor\appveyor_install_cuda.cmd set CPU_ONLY=0 set RUN_TESTS=0 set USE_NCCL=1 ) else ( set CPU_ONLY=1 ) :: Disable the tests in debug config if "%CMAKE_CONFIG%" == "Debug" ( echo Disabling tests on appveyor with config == %CMAKE_CONFIG% set RUN_TESTS=0 ) :: Disable linting with python 3 until we find why the script fails if !PYTHON_VERSION! GTR 3 ( set RUN_LINT=0 ) ) else ( :: Change the settings here to match your setup :: Change MSVC_VERSION to 12 to use VS 2013 if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 :: Change to 1 to use Ninja generator (builds much faster) if NOT DEFINED WITH_NINJA set WITH_NINJA=0 :: Change to 1 to build caffe without CUDA support if NOT DEFINED CPU_ONLY set CPU_ONLY=0 :: Change to generate CUDA code for one of the following GPU architectures :: [Fermi Kepler Maxwell Pascal All] if NOT DEFINED CUDA_ARCH_NAME set CUDA_ARCH_NAME=Auto :: Change to Debug to build Debug. This is only relevant for the Ninja generator the Visual Studio generator will generate both Debug and Release configs if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release :: Set to 1 to use NCCL if NOT DEFINED USE_NCCL set USE_NCCL=0 :: Change to 1 to build a caffe.dll if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 :: Only 2.7, 3.5 and 3.6 are supported if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3.6 :: Change these options for your needs. if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 :: If python is on your path leave this alone if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python :: Run the tests if NOT DEFINED RUN_TESTS set RUN_TESTS=0 :: Run lint if NOT DEFINED RUN_LINT set RUN_LINT=0 :: Build the install target if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1 ) :: Set the appropriate CMake generator :: Use the exclamation mark ! below to delay the :: expansion of CMAKE_GENERATOR if %WITH_NINJA% EQU 0 ( if "%MSVC_VERSION%"=="14" ( set CMAKE_GENERATOR=Visual Studio 14 2015 Win64 ) if "%MSVC_VERSION%"=="12" ( set CMAKE_GENERATOR=Visual Studio 12 2013 Win64 ) if "!CMAKE_GENERATOR!"=="" ( echo ERROR: Unsupported MSVC version exit /B 1 ) ) else ( set CMAKE_GENERATOR=Ninja ) echo INFO: ============================================================ echo INFO: Summary: echo INFO: ============================================================ echo INFO: MSVC_VERSION = !MSVC_VERSION! echo INFO: WITH_NINJA = !WITH_NINJA! echo INFO: CMAKE_GENERATOR = "!CMAKE_GENERATOR!" echo INFO: CPU_ONLY = !CPU_ONLY! echo INFO: CUDA_ARCH_NAME = !CUDA_ARCH_NAME! echo INFO: CMAKE_CONFIG = !CMAKE_CONFIG! echo INFO: USE_NCCL = !USE_NCCL! echo INFO: CMAKE_BUILD_SHARED_LIBS = !CMAKE_BUILD_SHARED_LIBS! echo INFO: PYTHON_VERSION = !PYTHON_VERSION! echo INFO: BUILD_PYTHON = !BUILD_PYTHON! echo INFO: BUILD_PYTHON_LAYER = !BUILD_PYTHON_LAYER! echo INFO: BUILD_MATLAB = !BUILD_MATLAB! echo INFO: PYTHON_EXE = "!PYTHON_EXE!" echo INFO: RUN_TESTS = !RUN_TESTS! echo INFO: RUN_LINT = !RUN_LINT! echo INFO: RUN_INSTALL = !RUN_INSTALL! echo INFO: ============================================================ :: Build and exectute the tests :: Do not run the tests with shared library if !RUN_TESTS! EQU 1 ( if %CMAKE_BUILD_SHARED_LIBS% EQU 1 ( echo WARNING: Disabling tests with shared library build set RUN_TESTS=0 ) ) if NOT EXIST build mkdir build pushd build :: Setup the environement for VS x64 set batch_file=!VS%MSVC_VERSION%0COMNTOOLS!..\..\VC\vcvarsall.bat call "%batch_file%" amd64 :: Configure using cmake and using the caffe-builder dependencies :: Add -DCUDNN_ROOT=C:/Projects/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^ :: below to use cuDNN cmake -G"!CMAKE_GENERATOR!" ^ -DBLAS=Open ^ -DCMAKE_BUILD_TYPE:STRING=%CMAKE_CONFIG% ^ -DBUILD_SHARED_LIBS:BOOL=%CMAKE_BUILD_SHARED_LIBS% ^ -DBUILD_python:BOOL=%BUILD_PYTHON% ^ -DBUILD_python_layer:BOOL=%BUILD_PYTHON_LAYER% ^ -DBUILD_matlab:BOOL=%BUILD_MATLAB% ^ -DCPU_ONLY:BOOL=%CPU_ONLY% ^ -DCOPY_PREREQUISITES:BOOL=1 ^ -DINSTALL_PREREQUISITES:BOOL=1 ^ -DUSE_NCCL:BOOL=!USE_NCCL! ^ -DCUDA_ARCH_NAME:STRING=%CUDA_ARCH_NAME% ^ "%~dp0\.." if ERRORLEVEL 1 ( echo ERROR: Configure failed exit /b 1 ) :: Lint if %RUN_LINT% EQU 1 ( cmake --build . --target lint --config %CMAKE_CONFIG% ) if ERRORLEVEL 1 ( echo ERROR: Lint failed exit /b 1 ) :: Build the library and tools cmake --build . --config %CMAKE_CONFIG% if ERRORLEVEL 1 ( echo ERROR: Build failed exit /b 1 ) :: Build and exectute the tests if !RUN_TESTS! EQU 1 ( cmake --build . --target runtest --config %CMAKE_CONFIG% if ERRORLEVEL 1 ( echo ERROR: Tests failed exit /b 1 ) if %BUILD_PYTHON% EQU 1 ( if %BUILD_PYTHON_LAYER% EQU 1 ( :: Run python tests only in Release build since :: the _caffe module is _caffe-d is debug if "%CMAKE_CONFIG%"=="Release" ( :: Run the python tests cmake --build . --target pytest if ERRORLEVEL 1 ( echo ERROR: Python tests failed exit /b 1 ) ) ) ) ) if %RUN_INSTALL% EQU 1 ( cmake --build . --target install --config %CMAKE_CONFIG% ) popd @endlocal |
کلا چند جای این فایل رو ما تغییر میدیم .
بخشهایی که باید تغییر بدیم در خطوط ۲۲ تا ۳۵ هست یعنی این بخش :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
:: Set python 2.7 with conda as the default python if !PYTHON_VERSION! EQU 2.7 ( set CONDA_ROOT=C:\Miniconda-x64 ) :: Set python 3.6 with conda as the default python if !PYTHON_VERSION! EQU 3.6 ( set CONDA_ROOT=C:\Miniconda36-x64 ) :: Set python 3.5 with conda as the default python if !PYTHON_VERSION! EQU 3.5 ( set CONDA_ROOT=C:\Miniconda35-x64 ) |
اینجا بر حسب اینکه قصد داریم از پایتون ۲ یا ۳ استفاده کنیم مسیر اناکوندا یا پایتون خودمون رو مشخص میکنیم .
ما چون از پایتون۳٫۶ میخواییم استفاده کنیم خیلی راحت مسیر پیشفرض آناکوندا رو وارد میکنیم (اگه مسیر نصب رو تغییر دادید مسیر مسیر محیط جدیدی که ساختیم رو وارد میکنیم .
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1 :: Set python 2.7 with conda as the default python if !PYTHON_VERSION! EQU 2.7 ( set CONDA_ROOT=C:\Miniconda-x64 ) :: Set python 3.6 with conda as the default python if !PYTHON_VERSION! EQU 3.6 ( set CONDA_ROOT=C:\Users\Hossein\Anaconda3 ) :: Set python 3.5 with conda as the default python if !PYTHON_VERSION! EQU 3.5 ( set CONDA_ROOT=C:\Miniconda35-x64 |
از خط ۷۴ تا ۱۰۴ تنظیماتی هست که میشه مشخص کرد چه کارهایی صورت بگیره . هر بخش comment گذاری شده و مشخص هست. تو خط ۷۷
1 2 3 |
if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 |
ما نسخه ویژوال استودیویی که نصب کردیم رو مشخص میکنیم. اگر از ویژوال استودیو ۲۰۱۵ استفاده میکنیم ۱۴ و اگر از ۲۰۱۳ استفاده میکنیم ۱۲ رو مینویسیم.پیشفرض ۱۴ هست ما هم چون از ویژوال استودیو ۲۰۱۵ استفاده میکنیم دست بهش نمیزنیم. خط ۷۹
1 2 3 |
if NOT DEFINED WITH_NINJA set WITH_NINJA=1 |
رو هم رو روی ۰ (صفر) تنظیم میکنیم چون داریم از Visual studio استفاده میکنیم و خبری از Ninja نیست.
در خط ۸۱ هم اگر میخواییم بصورت CPU_ONLY عمل کامپایل انجام بشه اون رو برابر ۱ قرار میدیم . در غیر اینصورت میزاریم همون ۰ باقی بمونه.
در خط ۸۶ هم نوع بیلدمون رو مشخص میکنیم . پیشفرض release هست و ما هم نیازی به Debug نداریم پس با همین تنظیمات ادامه میدیم . (از دیباگ به هیچ عنوان برای انجام تست و… استفاده نکنید چون بشدت کند هست .صرفا برای اشکال زدایی استفاده داره)
خط ۹۰ هم اگر نیاز به ایجاد کتابخونه های shared برای استفاده در سی++ و… دارید میتونید ۱ قرار بدید. ما با تنظیم پیشفرضش ادامه میدیم یعنی ۰٫
در خط ۹۲ هم ورژن پایتون رو مشخص میکنیم . ما از ۳٫۶ استفاده کردیم پس اینجا مینویسیم ۳٫۶٫
در خط ۹۴ هم مشخص میکنیم که آیا wrapper پایتون ایجاد بشه یا خیر. که ۱ رو انتخاب میکنیم (اگر کسی رپر پایتون نخواد این باید ۰ باشه!)
در خط ۹۵ هم مشخص میکنیم که آیا دوست داریم قابلیت ایجاد لایه جدید از طریق پایتون فعال باشه یا خیر. که ۱ رو میزاریم یعنی بله!
در خط ۹۶ هم مشخص میکنیم که آیا دوست داریم wrapper متلب ایجاد بشه یا خیر! چون من ندارم ۰ انتخاب میکنم. یادتون باشه اگه رپر متلب رو میخوایید باید متلب از قبل نصب باشه و شما گزینه ۱ رو انتخاب کنید.
در خط ۹۸ هم اگر اسم فایل پایتون متفاوت هست اینجا قید میکنید (بعضی ها وقتی ورژن های مختلف پایتون رو در سیستمشون دارن اسم های مختلفی به اونها میدن تا فراخونیشون دچار مشکل نشه. مثل python27 برای پایتون ۲٫۷ و یا python36 برای python3.6.ما از همون python استفاده میکنیم.
۱۰۰ و ۱۰۲ هم میتونید ست نکنید ۱۰۰برای انجام تست ها هست و ۱۰۲ هم برای چکهای اضافی (مشکل لیک حافظه و…. نباشه)
۱۰۴ رو اما ۱ قرار میدیم تا فایلهای کافی همه یک جا قرار داده بشن که اگر یکوقت بخوایید اونها رو در یک سیستم دیگه اجرا کنید همه نیازمندی ها بصورت کامل یکجا قابل استفاده باشن (یعنی همین پوشه رو کپی کنید ببرید در هر سیستمی کفی رو بتونید اجرا کنید)
در اخر شکل تنظیمات بصورت زیر خواهد بود :
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
) else ( :: Change the settings here to match your setup :: Change MSVC_VERSION to 12 to use VS 2013 if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 :: Change to 1 to use Ninja generator (builds much faster) if NOT DEFINED WITH_NINJA set WITH_NINJA=0 :: Change to 1 to build caffe without CUDA support if NOT DEFINED CPU_ONLY set CPU_ONLY=0 :: Change to generate CUDA code for one of the following GPU architectures :: [Fermi Kepler Maxwell Pascal All] if NOT DEFINED CUDA_ARCH_NAME set CUDA_ARCH_NAME=Auto :: Change to Debug to build Debug. This is only relevant for the Ninja generator the Visual Studio generator will generate both Debug and Release configs if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release :: Set to 1 to use NCCL if NOT DEFINED USE_NCCL set USE_NCCL=0 :: Change to 1 to build a caffe.dll if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 :: Only 2.7, 3.5 and 3.6 are supported if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3.6 :: Change these options for your needs. if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 :: If python is on your path leave this alone if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python :: Run the tests if NOT DEFINED RUN_TESTS set RUN_TESTS=0 :: Run lint if NOT DEFINED RUN_LINT set RUN_LINT=0 :: Build the install target |
حالا کسایی که cudnn رو دانلود و اکسترکت کردن به خط ۱۷۵ برید بعدش یه enter بزنید و زیرش خط زیر رو قرار بدید
1 2 3 |
-DCUDNN_ROOT=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/cuda60/cuda ^ |
بجای مسیری که من قرار دادم مسیر پوشه cudnnیی که دانلود کردید رو قرار بدید. من شخصا عادت دارم پوشه cudnn رو بعد از اینکه extract کردم ببرم و در جایی که کودا رو نصب کردم کپیش کنم .(دقت کنید بعد از اکسترکت کردن پوشه های شما باید بطوری باشه که وقتی وارد پوشه cuda6 مثلا شدید پوشه ای به اسم cuda باشه که در داخل اون هم سه تا پوشه دیگه باشه. بعد مسیر رو مثل بالا مشخص کنید برای خودتون . کسایی که کارتشون compute capability 2.1 و پایین تر هست و کارتشون از cudnn 5 و ۶ پشتیبانی نمیکنه این مرحله رو ندید بگیرن.
کار تنظیمات اینجا تموم شد . این فایل کانفیگ نهایی من هست بعنوان مثال (مربوط به اخرین ورژن کفی در تاریخ ۱۸ فروردین ۹۶ ):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 |
@echo off @setlocal EnableDelayedExpansion :: Default values if DEFINED APPVEYOR ( echo Setting Appveyor defaults if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 if NOT DEFINED WITH_NINJA set WITH_NINJA=0 if NOT DEFINED CPU_ONLY set CPU_ONLY=1 if NOT DEFINED CUDA_ARCH_NAME set CUDA_ARCH_NAME=Auto if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release if NOT DEFINED USE_NCCL set USE_NCCL=0 if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3.6 if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python if NOT DEFINED RUN_TESTS set RUN_TESTS=1 if NOT DEFINED RUN_LINT set RUN_LINT=1 if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1 :: Set python 2.7 with conda as the default python if !PYTHON_VERSION! EQU 2.7 ( set CONDA_ROOT=C:\Miniconda-x64 ) :: Set python 3.6 with conda as the default python if !PYTHON_VERSION! EQU 3.6 ( set CONDA_ROOT=C:\Users\Seyyed\Anaconda3 ) :: Set python 3.5 with conda as the default python if !PYTHON_VERSION! EQU 3.5 ( set CONDA_ROOT=C:\Miniconda35-x64 ) set PATH=!CONDA_ROOT!;!CONDA_ROOT!\Scripts;!CONDA_ROOT!\Library\bin;!PATH! :: Check that we have the right python version !PYTHON_EXE! --version :: Add the required channels conda config --add channels conda-forge conda config --add channels willyd :: Update conda conda update conda -y :: Download other required packages conda install --yes cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz if ERRORLEVEL 1 ( echo ERROR: Conda update or install failed exit /b 1 ) :: Install cuda and disable tests if needed if !WITH_CUDA! == 1 ( call %~dp0\appveyor\appveyor_install_cuda.cmd set CPU_ONLY=0 set RUN_TESTS=0 set USE_NCCL=1 ) else ( set CPU_ONLY=1 ) :: Disable the tests in debug config if "%CMAKE_CONFIG%" == "Debug" ( echo Disabling tests on appveyor with config == %CMAKE_CONFIG% set RUN_TESTS=0 ) :: Disable linting with python 3 until we find why the script fails if !PYTHON_VERSION! GTR 3 ( set RUN_LINT=0 ) ) else ( :: Change the settings here to match your setup :: Change MSVC_VERSION to 12 to use VS 2013 if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 :: Change to 1 to use Ninja generator (builds much faster) if NOT DEFINED WITH_NINJA set WITH_NINJA=0 :: Change to 1 to build caffe without CUDA support if NOT DEFINED CPU_ONLY set CPU_ONLY=0 :: Change to generate CUDA code for one of the following GPU architectures :: [Fermi Kepler Maxwell Pascal All] if NOT DEFINED CUDA_ARCH_NAME set CUDA_ARCH_NAME=Auto :: Change to Debug to build Debug. This is only relevant for the Ninja generator the Visual Studio generator will generate both Debug and Release configs if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release :: Set to 1 to use NCCL if NOT DEFINED USE_NCCL set USE_NCCL=0 :: Change to 1 to build a caffe.dll if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 :: Only 2.7, 3.5 and 3.6 are supported if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3.6 :: Change these options for your needs. if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 :: If python is on your path leave this alone if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python :: Run the tests if NOT DEFINED RUN_TESTS set RUN_TESTS=0 :: Run lint if NOT DEFINED RUN_LINT set RUN_LINT=0 :: Build the install target if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1 ) :: Set the appropriate CMake generator :: Use the exclamation mark ! below to delay the :: expansion of CMAKE_GENERATOR if %WITH_NINJA% EQU 0 ( if "%MSVC_VERSION%"=="14" ( set CMAKE_GENERATOR=Visual Studio 14 2015 Win64 ) if "%MSVC_VERSION%"=="12" ( set CMAKE_GENERATOR=Visual Studio 12 2013 Win64 ) if "!CMAKE_GENERATOR!"=="" ( echo ERROR: Unsupported MSVC version exit /B 1 ) ) else ( set CMAKE_GENERATOR=Ninja ) echo INFO: ============================================================ echo INFO: Summary: echo INFO: ============================================================ echo INFO: MSVC_VERSION = !MSVC_VERSION! echo INFO: WITH_NINJA = !WITH_NINJA! echo INFO: CMAKE_GENERATOR = "!CMAKE_GENERATOR!" echo INFO: CPU_ONLY = !CPU_ONLY! echo INFO: CUDA_ARCH_NAME = !CUDA_ARCH_NAME! echo INFO: CMAKE_CONFIG = !CMAKE_CONFIG! echo INFO: USE_NCCL = !USE_NCCL! echo INFO: CMAKE_BUILD_SHARED_LIBS = !CMAKE_BUILD_SHARED_LIBS! echo INFO: PYTHON_VERSION = !PYTHON_VERSION! echo INFO: BUILD_PYTHON = !BUILD_PYTHON! echo INFO: BUILD_PYTHON_LAYER = !BUILD_PYTHON_LAYER! echo INFO: BUILD_MATLAB = !BUILD_MATLAB! echo INFO: PYTHON_EXE = "!PYTHON_EXE!" echo INFO: RUN_TESTS = !RUN_TESTS! echo INFO: RUN_LINT = !RUN_LINT! echo INFO: RUN_INSTALL = !RUN_INSTALL! echo INFO: ============================================================ :: Build and exectute the tests :: Do not run the tests with shared library if !RUN_TESTS! EQU 1 ( if %CMAKE_BUILD_SHARED_LIBS% EQU 1 ( echo WARNING: Disabling tests with shared library build set RUN_TESTS=0 ) ) if NOT EXIST build mkdir build pushd build :: Setup the environement for VS x64 set batch_file=!VS%MSVC_VERSION%0COMNTOOLS!..\..\VC\vcvarsall.bat call "%batch_file%" amd64 :: Configure using cmake and using the caffe-builder dependencies :: Add -DCUDNN_ROOT=C:/Projects/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^ :: below to use cuDNN cmake -G"!CMAKE_GENERATOR!" ^ -DBLAS=Open ^ -DCMAKE_BUILD_TYPE:STRING=%CMAKE_CONFIG% ^ -DBUILD_SHARED_LIBS:BOOL=%CMAKE_BUILD_SHARED_LIBS% ^ -DBUILD_python:BOOL=%BUILD_PYTHON% ^ -DBUILD_python_layer:BOOL=%BUILD_PYTHON_LAYER% ^ -DBUILD_matlab:BOOL=%BUILD_MATLAB% ^ -DCPU_ONLY:BOOL=%CPU_ONLY% ^ -DCOPY_PREREQUISITES:BOOL=1 ^ -DINSTALL_PREREQUISITES:BOOL=1 ^ -DUSE_NCCL:BOOL=!USE_NCCL! ^ -DCUDNN_ROOT=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/cudnn6/cuda ^ -DCUDA_ARCH_NAME:STRING=%CUDA_ARCH_NAME% ^ "%~dp0\.." if ERRORLEVEL 1 ( echo ERROR: Configure failed exit /b 1 ) :: Lint if %RUN_LINT% EQU 1 ( cmake --build . --target lint --config %CMAKE_CONFIG% ) if ERRORLEVEL 1 ( echo ERROR: Lint failed exit /b 1 ) :: Build the library and tools cmake --build . --config %CMAKE_CONFIG% if ERRORLEVEL 1 ( echo ERROR: Build failed exit /b 1 ) :: Build and exectute the tests if !RUN_TESTS! EQU 1 ( cmake --build . --target runtest --config %CMAKE_CONFIG% if ERRORLEVEL 1 ( echo ERROR: Tests failed exit /b 1 ) if %BUILD_PYTHON% EQU 1 ( if %BUILD_PYTHON_LAYER% EQU 1 ( :: Run python tests only in Release build since :: the _caffe module is _caffe-d is debug if "%CMAKE_CONFIG%"=="Release" ( :: Run the python tests cmake --build . --target pytest if ERRORLEVEL 1 ( echo ERROR: Python tests failed exit /b 1 ) ) ) ) ) if %RUN_INSTALL% EQU 1 ( cmake --build . --target install --config %CMAKE_CONFIG% ) popd @endlocal |
حالا برگردید به روت کفی . یعنی وارد پوشه کفی بشید بطوریکه پوشه های دیگه رو بتونید بببنید . مثل examples, scripts,python, و …. وقتی وارد پوشه شدید بدون اینکه روی هیچ فولدری کلیک کنید Shift رو نگهدارید و راست کلیک کنید. تو پنجره راست کلیک شما یه گزینه باید باشه بنام open command windows here روش کلیک کنید. پنجره cmd اجرا میشه و میبینید که مسیرش داخل کفی هست. (البته راه ساده تری هم هست اونم اینه که برای اینکه cmd رو تو یه پوشه خاصی باز کنیم وارد اون پوشه مورد نظر میشیم حالا تو آدرس باری که بالا پوشه هست و مسیر پوشه ما رو نشون میده کلیک میکنیم .هرچی هست پاک میکنیم مینویسیم cmd و انتر میکنیم . cmd تو پوشه ما اجرا میشه و مسیرش میشه مسیر جاری ما. )
به هر حال بعد از اینکه cmd اجرا شد حالا دستور زیر رو وارد میکنیم
1 2 3 |
scripts\build_win |
و عملیات کامپایل شروع میشه و اگه مراحل رو درست طی کرده باشید باید با موفقیت به انجام برسه .
فعال سازی پشتیبانی از کفی در پایتون :
بعد از اینکه کامپایل با موفقیت انجام شد. برای اینکه براحتی بتونیم از دستورات کفی در هر برنامه پایتون استفاده کنیم یا مثالهای پایتون رو براحتی اجرا کنیم در روت کفی وارد پوشه python میشیم و پوشه caffe رو کپی میکنیم و میبریم در پوشه site-packages در داخل پوشه Lib در جایی که آناکوندا رو نصب کردیم .برای من این مسیر بصورت زیر هست (آناکوندا۳ رو در مسیر C:\Users\Hossein\Anaconda3\ کرده بودم در نتیجه برای رفتن وارد پوشه lib و بعد site-packages میشم . یعنی این مسیر
1 2 3 |
C:\Users\Hossein\Anaconda3\Lib\site-packages |
حالا پوشه کفی رو اینجا کپی میکنم .
برای تست اینکه همه چیز بدرستی انجام شده . cmd رو بالا بیارید و تایپ کنید python. حالا دستورات زیر رو وارد کنید .
1 2 3 4 5 6 |
>>> import caffe >>> caffe.__version__ '1.0.0' >>> |
1 2 3 4 5 6 7 8 9 |
C:\Users\Seyyed>python Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import caffe >>> caffe.__version__ '1.0.0' >>> |
موقع import کردن نباید خطایی دریافت کنید. اگر اینجا با موفقیت بود یعنی همه کار رو بدرستی انجام دادید. و اگر در زمان اجرای مثالها به خطایی برخوردید به احتمال زیاد بخاطر نبود پکیج مورد نیاز هست که میتونید براحتی از بخش navigator آناکوندا و یا با دستور pip install پکیج های مورد نیازتون رو نصب کنید.
برای تست متلب هم بعد اینکه بیلد با موفقیت انجام شد میتونید براحتی ازش استفاده کنید . مثلا برای اینکه ببینید همه چیز اکی هست تو متلب دایرکتوری فعلی رو روی caffe\matlab ست میکنید (یعنی در داخل پوشه کفی پوشه متلب ) . بعد دستور caffe.run_tests() رو ران میکنید . تموم که شد با موفقیت میتونید مثال دمو رو اجرا کنید. توضیحات اینجا هم داده شده
آماده سازی پایتون ۳٫۵:
قبل از اینکه به سراغ کامپایل کفی بریم لازمه یک کارهایی انجام بشه . از اون جمله مهیا کردن ورژن مناسب برای کفی هست. اناکوندا۳ از پایتون ۳٫۶ استفاده میکنه اما کفی از پایتون ۳٫۵ پشتیبانی میکنه . برای همین ما بعد از اینکه اناکوندا۳ رو نصب کردیم از منو استارت برنامه Anaconda Navigator رو باز میکنیم . چند تا تب سمت چپ وجود داره روی Environment کلیک کنید. بعد مثل تصویر روی Create کلیک کنید . از منو کشویی ۳٫۵ رو انتخاب کنید و بالا یه اسم در نظر بگیرید . این گامها در تصاویر پایین نشون داده شدن :
بعد از اینکه محیط جدید ساخته شد و فایلهای اولیه دانلود شدند. روی بخشی که با رنگ آبی نشون دادم کلیک کنید و Not Installed رو انتخاب کنید. حالا پکیج های مختلفی که نیاز دارید رو انتخاب کنید و بعد در انتهای تصویر Apply رو بزنید تا دانلود و نصب بشن. پکیج هایی مثل numy, matplotlib,six,wheel,jupyter notebook, ipython,sklearn رو نصب کنید .(حتما protobuf رو هم نصب کنید اگه در لیست نیست با دستور pip install protobuf نصبش کنید) بقیه هم هرچیزی نیاز بود میتونید از همین بخش یا بصورت عادی با دستور conda یا pip نصب کنید.
خب محیط جدید شما اماده شده و از طریق پوشه env درداخل مسیری که اناکوندا۳ رو نصب کردید قابل دسترسی هست. برای فراخونی پایتون ۳۵ هم میتونید حالا از دستور activate python35 استفاده کنید (python35 اسمی هست که شما برای اون محیط انتخاب کردید. میتونه هرچز دیگه ای باشه اگه در تصویر بالا دقت کنید میبینید من خودم قبلا anaconda35 رو بعنوان اسم انتخاب کردم . حالا باید بسراغ متغییر Path بریم و برای راحتی کار مسیرهای جدید رو بجای مسیرهای قدیمی ست کنیم که دیگه مجبور نباشیم هربار برای کار با این محیط از دستور activate استفاده کنیم . میخواییم این محیط رو محیط پیشفرضمون کنیم .
روی MyComputer یا (This PC در ویندوز۱۰ ) راست کلیک کنید و Properties رو انتخاب کنید و بعد Advanced system settings رو انتخاب کنید. در پنجره باز شده روی Environment Variables کلیک کنید . تو پنجره جدید دو بخش وجود داره بخش بالایی یا User Variables for و یه بخش پایینی که System variables هست. در بخش بالایی روی متغییر Path کلیک و بعد Edit رو بزنید .وقتی باز میکنید باید تصویری مثل زیر رو داشته باشید .
حالا بصورت زیر تغییرشون بدید. روی هر کدوم دابل کلیک کنید تا حالت ویرایش فعال بشه یا اینکه روی دکمه Edit بزنید. بعد از اینکه تغییرات رو دادید OK کنید.
حالا تست کنید ببینید همه چیز مرتب هست یا نه. برای اینکار cmd رو اجرا کنید . (میتونید از کلیدهای ترکیبی winKey+R استفاده کنید و بنویسید cmd و اجراش کنید). حالا بنویسید python و انتر کنید. باید چیزی مثل این رو ببینید (به ورژن پایتون دقت کنید):
1 2 3 4 5 6 |
C:\Users\Master>python Python 3.5.3 |Continuum Analytics, Inc.| (default, Feb 22 2017, 21:28:42) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> |
آماده سازی و کامپایل Caffe :
از بخش ابزارهای سایت روی برنچ ویندوز کَفِی کلیک و آخرین ورژن کفی رو دانلود میکنید. بعد از دانلود از حالت زیپ خارجش میکنید. حالا وارد کفی میشید .
وارد پوشه scripts بشید و اونجا فایل
build_win.cmd رو با نوت پد یا ترجیحا
notepad++ باز کنید .
فرمت این فایل بشکل زیر هست
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 |
@echo off @setlocal EnableDelayedExpansion :: Default values if DEFINED APPVEYOR ( echo Setting Appveyor defaults if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 if NOT DEFINED WITH_NINJA set WITH_NINJA=1 if NOT DEFINED CPU_ONLY set CPU_ONLY=1 if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release if NOT DEFINED USE_NCCL set USE_NCCL=0 if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=2 if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python if NOT DEFINED RUN_TESTS set RUN_TESTS=1 if NOT DEFINED RUN_LINT set RUN_LINT=1 if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1 :: Set python 2.7 with conda as the default python if !PYTHON_VERSION! EQU 2 ( set CONDA_ROOT=C:\Miniconda-x64 ) :: Set python 3.5 with conda as the default python if !PYTHON_VERSION! EQU 3 ( set CONDA_ROOT=C:\Miniconda35-x64 ) set PATH=!CONDA_ROOT!;!CONDA_ROOT!\Scripts;!CONDA_ROOT!\Library\bin;!PATHH! :: Check that we have the right python version !PYTHON_EXE! --version :: Add the required channels conda config --add channels conda-forge conda config --add channels willyd :: Update conda conda update conda -y :: Download other required packages conda install --yes cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml if ERRORLEVEL 1 ( echo ERROR: Conda update or install failed exit /b 1 ) :: Install cuda and disable tests if needed if !WITH_CUDA! == 1 ( call %~dp0\appveyor\appveyor_install_cuda.cmd set CPU_ONLY=0 set RUN_TESTS=0 set USE_NCCL=1 ) else ( set CPU_ONLY=1 ) :: Disable the tests in debug config if "%CMAKE_CONFIG%" == "Debug" ( echo Disabling tests on appveyor with config == %CMAKE_CONFIG% set RUN_TESTS=0 ) :: Disable linting with python 3 until we find why the script fails if !PYTHON_VERSION! EQU 3 ( set RUN_LINT=0 ) ) else ( :: Change the settings here to match your setup :: Change MSVC_VERSION to 12 to use VS 2013 if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 :: Change to 1 to use Ninja generator (builds much faster) if NOT DEFINED WITH_NINJA set WITH_NINJA=1 :: Change to 1 to build caffe without CUDA support if NOT DEFINED CPU_ONLY set CPU_ONLY=0 :: Change to Debug to build Debug. This is only relevant for the Ninja generator the Visual Studio generator will generate both Debug and Release configs if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release :: Set to 1 to use NCCL if NOT DEFINED USE_NCCL set USE_NCCL=0 :: Change to 1 to build a caffe.dll if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 :: Change to 3 if using python 3.5 (only 2.7 and 3.5 are supported) if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=2 :: Change these options for your needs. if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 :: If python is on your path leave this alone if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python :: Run the tests if NOT DEFINED RUN_TESTS set RUN_TESTS=0 :: Run lint if NOT DEFINED RUN_LINT set RUN_LINT=0 :: Build the install target if NOT DEFINED RUN_INSTALL set RUN_INSTALL=0 ) :: Set the appropriate CMake generator :: Use the exclamation mark ! below to delay the :: expansion of CMAKE_GENERATOR if %WITH_NINJA% EQU 0 ( if "%MSVC_VERSION%"=="14" ( set CMAKE_GENERATOR=Visual Studio 14 2015 Win64 ) if "%MSVC_VERSION%"=="12" ( set CMAKE_GENERATOR=Visual Studio 12 2013 Win64 ) if "!CMAKE_GENERATOR!"=="" ( echo ERROR: Unsupported MSVC version exit /B 1 ) ) else ( set CMAKE_GENERATOR=Ninja ) echo INFO: ============================================================ echo INFO: Summary: echo INFO: ============================================================ echo INFO: MSVC_VERSION = !MSVC_VERSION! echo INFO: WITH_NINJA = !WITH_NINJA! echo INFO: CMAKE_GENERATOR = "!CMAKE_GENERATOR!" echo INFO: CPU_ONLY = !CPU_ONLY! echo INFO: CMAKE_CONFIG = !CMAKE_CONFIG! echo INFO: USE_NCCL = !USE_NCCL! echo INFO: CMAKE_BUILD_SHARED_LIBS = !CMAKE_BUILD_SHARED_LIBS! echo INFO: PYTHON_VERSION = !PYTHON_VERSION! echo INFO: BUILD_PYTHON = !BUILD_PYTHON! echo INFO: BUILD_PYTHON_LAYER = !BUILD_PYTHON_LAYER! echo INFO: BUILD_MATLAB = !BUILD_MATLAB! echo INFO: PYTHON_EXE = "!PYTHON_EXE!" echo INFO: RUN_TESTS = !RUN_TESTS! echo INFO: RUN_LINT = !RUN_LINT! echo INFO: RUN_INSTALL = !RUN_INSTALL! echo INFO: ============================================================ :: Build and exectute the tests :: Do not run the tests with shared library if !RUN_TESTS! EQU 1 ( if %CMAKE_BUILD_SHARED_LIBS% EQU 1 ( echo WARNING: Disabling tests with shared library build set RUN_TESTS=0 ) ) if NOT EXIST build mkdir build pushd build :: Setup the environement for VS x64 set batch_file=!VS%MSVC_VERSION%0COMNTOOLS!..\..\VC\vcvarsall.bat call "%batch_file%" amd64 :: Configure using cmake and using the caffe-builder dependencies :: Add -DCUDNN_ROOT=C:/Projects/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^ :: below to use cuDNN cmake -G"!CMAKE_GENERATOR!" ^ -DBLAS=Open ^ -DCMAKE_BUILD_TYPE:STRING=%CMAKE_CONFIG% ^ -DBUILD_SHARED_LIBS:BOOL=%CMAKE_BUILD_SHARED_LIBS% ^ -DBUILD_python:BOOL=%BUILD_PYTHON% ^ -DBUILD_python_layer:BOOL=%BUILD_PYTHON_LAYER% ^ -DBUILD_matlab:BOOL=%BUILD_MATLAB% ^ -DCPU_ONLY:BOOL=%CPU_ONLY% ^ -DCOPY_PREREQUISITES:BOOL=1 ^ -DINSTALL_PREREQUISITES:BOOL=1 ^ -DUSE_NCCL:BOOL=!USE_NCCL! ^ "%~dp00\.." if ERRORLEVEL 1 ( echo ERROR: Configure failed exit /b 1 ) :: Lint if %RUN_LINT% EQU 1 ( cmake --build . --target lint --config %CMAKE_CONFIG% ) if ERRORLEVEL 1 ( echo ERROR: Lint failed exit /b 1 ) :: Build the library and tools cmake --build . --config %CMAKE_CONFIG% if ERRORLEVEL 1 ( echo ERROR: Build failed exit /b 1 ) :: Build and exectute the tests if !RUN_TESTS! EQU 1 ( cmake --build . --target runtest --config %CMAKE_CONFIGG% if ERRORLEVEL 1 ( echo ERROR: Tests failed exit /b 1 ) if %BUILD_PYTHON% EQU 1 ( if %BUILD_PYTHON_LAYER% EQU 1 ( :: Run python tests only in Release build since :: the _caffe module is _caffe-d is debug if "%CMAKE_CONFIG%"=="Release" ( :: Run the python tests cmake --build . --target pytest if ERRORLEVEL 1 ( echo ERROR: Python tests failed exit /b 1 ) ) ) ) ) if %RUN_INSTALL% EQU 1 ( cmake --build . --target install --config %CMAKE_CONFIG% ) popd @endlocal |
کلا چند جای این فایل رو ما تغییر میدیم .
بخشهایی که باید تغییر بدیم خطوط ۲۲ تا ۲۹ هست یعنی این بخش :
1 2 3 4 5 6 7 8 9 10 |
:: Set python 2.7 with conda as the default python if !PYTHON_VERSION! EQU 2 ( set CONDA_ROOT=C:\Miniconda-x64 ) :: Set python 3.5 with conda as the default python if !PYTHON_VERSION! EQU 3 ( set CONDA_ROOT=C:\Miniconda35-x64 ) |
اینجا بر حسب اینکه قصد داریم از پایتون ۲ یا ۳ استفاده کنیم مسیر اناکوندا یا پایتون خودمون رو مشخص میکنیم .
ما چون از پایتون۳٫۵ میخواییم استفاده کنیم مسیر محیط جدیدی که ساختیم رو وارد میکنیم .
22 23 24 25 26 27 28 29 |
:: Set python 2.7 with conda as the default python if !PYTHON_VERSION! EQU 2 ( set CONDA_ROOT=C:\Miniconda-x64 ) :: Set python 3.5 with conda as the default python if !PYTHON_VERSION! EQU 3 ( set CONDA_ROOT=C:\Users\Master\Anaconda3\envs\python35 |
از خط ۶۹ تا ۹۶ تنظیماتی هست که میشه مشخص کرد چه کارهایی صورت بگیره . هر بخش comment گذاری شده و مشخص هست. تو خط ۷۱
1 2 3 |
if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 |
ما نسخه ویژوال استودیویی که نصب کردیم رو مشخص میکنیم. اگر از ویژوال استودیو ۲۰۱۵ استفاده میکنیم ۱۴ و اگر از ۲۰۱۳ استفاده میکنیم ۱۲ رو مینویسیم.پیشفرض ۱۴ هست ما هم چون از ویژوال استودیو ۲۰۱۵ استفاده میکنیم دست بهش نمیزنیم. خط ۷۳
1 2 3 |
if NOT DEFINED WITH_NINJA set WITH_NINJA=1 |
رو هم رو روی ۰ (صفر) تنظیم میکنیم چون داریم از Visual studio استفاده میکنیم و خبری از Ninja نیست.
در خط ۷۵ هم اگر میخواییم بصورت CPU_ONLY عمل کامپایل انجام بشه اون رو برابر ۱ قرار میدیم . در غیر اینصورت میزاریم همون ۰ باقی بمونه.
در خط ۷۷ هم نوع بیلدمون رو مشخص میکنیم . پیشفرض release هست و ما هم نیازی به Debug نداریم پس با همین تنظیمات ادامه میدیم . (از دیباگ به هیچ عنوان برای انجام تست و… استفاده نکنید چون بشدت کند هست .صرفا برای اشکال زدایی استفاده داره)
خط ۸۱ هم اگر نیاز به ایجاد کتابخونه های shared برای استفاده در سی++ و… دارید میتونید ۱ قرار بدید. ما با تنظیم پیشفرضش ادامه میدیم یعنی ۰٫
در خط ۸۳ هم ورژن پایتون رو مشخص میکنیم . ما از ۳ استفاده کردیم پس اینجا مینویسیم ۳٫
در خط ۸۵ هم مشخص میکنیم که آیا wrapper پایتون ایجاد بشه یا خیر. که ۱ رو انتخاب میکنیم (اگر کسی رپر پایتون نخواد این باید ۰ باشه!)
در خط ۸۶ هم مشخص میکنیم که آیا دوست داریم قابلیت ایجاد لایه جدید از طریق پایتون فعال باشه یا خیر. که ۱ رو میزاریم یعنی بله!
در خط ۸۷ هم مشخص میکنیم که آیا دوست داریم wrapper متلب ایجاد بشه یا خیر! چون من ندارم ۰ انتخاب میکنم. یادتون باشه اگه رپر متلب رو میخوایید باید متلب از قبل نصب باشه و شما گزینه ۱ رو انتخاب کنید.
در خط ۸۹ هم اگر اسم فایل پایتون متفاوت هست اینجا قید میکنید (بعضی ها وقتی ورژن های مختلف پایتون رو در سیستمشون دارن اسم های مختلفی به اونها میدن تا فراخونیشون دچار مشکل نشه. مثل python27 برای پایتون .۷۲ و یا python36 برای python3.6.ما از همون python استفاده میکنیم.
۹۱ و ۹۳ هم میتونید ست نکنید ۹۱ برای انجام تست ها هست و ۹۳ هم برای چکهای اضافی (مشکل لیک حافظه و…. نباشه)
۹۵ رو اما ۱ قرار میدیم تا فایلهای کافی همه یک جا قرار داده بشن که اگر یکوقت بخوایید اونها رو در یک سیستم دیگه اجرا کنید همه نیازمندی ها بصورت کامل یکجا قابل استفاده باشن (یعنی همین پوشه رو کپی کنید ببرید در هر سیستمی کفی رو بتونید اجرا کنید)
در اخر شکل تنظیمات بصورت زیر خواهد بود :
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
) else ( :: Change the settings here to match your setup :: Change MSVC_VERSION to 12 to use VS 2013 if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 :: Change to 1 to use Ninja generator (builds much faster) if NOT DEFINED WITH_NINJA set WITH_NINJA=0 :: Change to 1 to build caffe without CUDA support if NOT DEFINED CPU_ONLY set CPU_ONLY=0 :: Change to Debug to build Debug. This is only relevant for the Ninja generator the Visual Studio generator will generate both Debug and Release configs if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release :: Set to 1 to use NCCL if NOT DEFINED USE_NCCL set USE_NCCL=0 :: Change to 1 to build a caffe.dll if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 :: Change to 3 if using python 3.5 (only 2.7 and 3.5 are supported) if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3 :: Change these options for your needs. if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 :: If python is on your path leave this alone if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python :: Run the tests if NOT DEFINED RUN_TESTS set RUN_TESTS=0 :: Run lint if NOT DEFINED RUN_LINT set RUN_LINT=0 :: Build the install target if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1 |
حالا کسایی که cudnn رو دانلود و اکسترکت کردن به خط ۱۶۵ برید بعدش یه enter بزنید و زیرش خط زیر رو قرار بدید
1 2 3 |
-DCUDNN_ROOT=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/cuda60/cuda ^ |
بجای مسیری که من قرار دادم مسیر پوشه cudnnیی که دانلود کردید رو قرار بدید. من شخصا عادت دارم پوشه cudnn رو بعد از اینکه extract کردم ببرم و در جایی که کودا رو نصب کردم کپیش کنم .(دقت کنید بعد از اکسترکت کردن پوشه های شما باید بطوری باشه که وقتی وارد پوشه cuda6 مثلا شدید پوشه ای به اسم cuda باشه که در داخل اون هم سه تا پوشه دیگه باشه. بعد مسیر رو مثل بالا مشخص کنید برای خودتون . کسایی که کارتشون compute capability 2.1 و پایین تر هست و کارتشون از cudnn 5 و ۶ پشتیبانی نمیکنه این مرحله رو ندید بگیرن.
کار تنظیمات اینجا تموم شد . این فایل کانفیگ نهایی من هست بعنوان مثال (مربوط به اخرین ورژن کفی در تاریخ ۱۸ فروردین ۹۶ ):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
@echo off @setlocal EnableDelayedExpansion :: Default values if DEFINED APPVEYOR ( echo Setting Appveyor defaults if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 if NOT DEFINED WITH_NINJA set WITH_NINJA=1 if NOT DEFINED CPU_ONLY set CPU_ONLY=1 if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release if NOT DEFINED USE_NCCL set USE_NCCL=0 if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=2 if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python if NOT DEFINED RUN_TESTS set RUN_TESTS=1 if NOT DEFINED RUN_LINT set RUN_LINT=1 if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1 :: Set python 2.7 with conda as the default python if !PYTHON_VERSION! EQU 2 ( set CONDA_ROOT=C:\Miniconda-x64 ) :: Set python 3.5 with conda as the default python if !PYTHON_VERSION! EQU 3 ( set CONDA_ROOT=C:\Users\Master\Anaconda3\envs\python35 ) set PATH=!CONDA_ROOT!;!CONDA_ROOT!\Scripts;!CONDA_ROOT!\Library\bin;!PATH! :: Check that we have the right python version !PYTHON_EXE! --version :: Add the required channels conda config --add channels conda-forge conda config --add channels willyd :: Update conda conda update conda -y :: Download other required packages conda install --yes cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml if ERRORLEVEL 1 ( echo ERROR: Conda update or install failed exit /b 1 ) :: Install cuda and disable tests if needed if !WITH_CUDA! == 1 ( call %~dp0\appveyor\appveyor_install_cuda.cmd set CPU_ONLY=0 set RUN_TESTS=0 set USE_NCCL=1 ) else ( set CPU_ONLY=1 ) :: Disable the tests in debug config if "%CMAKE_CONFIG%" == "Debug" ( echo Disabling tests on appveyor with config == %CMAKE_CONFIG% set RUN_TESTS=0 ) :: Disable linting with python 3 until we find why the script fails if !PYTHON_VERSION! EQU 3 ( set RUN_LINT=0 ) ) else ( :: Change the settings here to match your setup :: Change MSVC_VERSION to 12 to use VS 2013 if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 :: Change to 1 to use Ninja generator (builds much faster) if NOT DEFINED WITH_NINJA set WITH_NINJA=0 :: Change to 1 to build caffe without CUDA support if NOT DEFINED CPU_ONLY set CPU_ONLY=0 :: Change to Debug to build Debug. This is only relevant for the Ninja generator the Visual Studio generator will generate both Debug and Release configs if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release :: Set to 1 to use NCCL if NOT DEFINED USE_NCCL set USE_NCCL=0 :: Change to 1 to build a caffe.dll if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 :: Change to 3 if using python 3.5 (only 2.7 and 3.5 are supported) if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3 :: Change these options for your needs. if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 :: If python is on your path leave this alone if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python :: Run the tests if NOT DEFINED RUN_TESTS set RUN_TESTS=0 :: Run lint if NOT DEFINED RUN_LINT set RUN_LINT=0 :: Build the install target if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1 ) :: Set the appropriate CMake generator :: Use the exclamation mark ! below to delay the :: expansion of CMAKE_GENERATOR if %WITH_NINJA% EQU 0 ( if "%MSVC_VERSION%"=="14" ( set CMAKE_GENERATOR=Visual Studio 14 2015 Win64 ) if "%MSVC_VERSION%"=="12" ( set CMAKE_GENERATOR=Visual Studio 12 2013 Win64 ) if "!CMAKE_GENERATOR!"=="" ( echo ERROR: Unsupported MSVC version exit /B 1 ) ) else ( set CMAKE_GENERATOR=Ninja ) echo INFO: ============================================================ echo INFO: Summary: echo INFO: ============================================================ echo INFO: MSVC_VERSION = !MSVC_VERSION! echo INFO: WITH_NINJA = !WITH_NINJA! echo INFO: CMAKE_GENERATOR = "!CMAKE_GENERATOR!" echo INFO: CPU_ONLY = !CPU_ONLY! echo INFO: CMAKE_CONFIG = !CMAKE_CONFIG! echo INFO: USE_NCCL = !USE_NCCL! echo INFO: CMAKE_BUILD_SHARED_LIBS = !CMAKE_BUILD_SHARED_LIBS! echo INFO: PYTHON_VERSION = !PYTHON_VERSION! echo INFO: BUILD_PYTHON = !BUILD_PYTHON! echo INFO: BUILD_PYTHON_LAYER = !BUILD_PYTHON_LAYER! echo INFO: BUILD_MATLAB = !BUILD_MATLAB! echo INFO: PYTHON_EXE = "!PYTHON_EXE!" echo INFO: RUN_TESTS = !RUN_TESTS! echo INFO: RUN_LINT = !RUN_LINT! echo INFO: RUN_INSTALL = !RUN_INSTALL! echo INFO: ============================================================ :: Build and exectute the tests :: Do not run the tests with shared library if !RUN_TESTS! EQU 1 ( if %CMAKE_BUILD_SHARED_LIBS% EQU 1 ( echo WARNING: Disabling tests with shared library build set RUN_TESTS=0 ) ) if NOT EXIST build mkdir build pushd build :: Setup the environement for VS x64 set batch_file=!VS%MSVC_VERSION%0COMNTOOLS!..\..\VC\vcvarsall.bat call "%batch_file%" amd64 :: Configure using cmake and using the caffe-builder dependencies :: Add -DCUDNN_ROOT=C:/Projects/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^ :: below to use cuDNN cmake -G"!CMAKE_GENERATOR!" ^ -DBLAS=Open ^ -DCMAKE_BUILD_TYPE:STRING=%CMAKE_CONFIG% ^ -DBUILD_SHARED_LIBS:BOOL=%CMAKE_BUILD_SHARED_LIBS% ^ -DBUILD_python:BOOL=%BUILD_PYTHON% ^ -DBUILD_python_layer:BOOL=%BUILD_PYTHON_LAYER% ^ -DBUILD_matlab:BOOL=%BUILD_MATLAB% ^ -DCPU_ONLY:BOOL=%CPU_ONLY% ^ -DCOPY_PREREQUISITES:BOOL=1 ^ -DINSTALL_PREREQUISITES:BOOL=1 ^ -DUSE_NCCL:BOOL=!USE_NCCL! ^ -DCUDNN_ROOT=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/cuda60/cuda ^ "%~dp0\.." if ERRORLEVEL 1 ( echo ERROR: Configure failed exit /b 1 ) :: Lint if %RUN_LINT% EQU 1 ( cmake --build . --target lint --config %CMAKE_CONFIG% ) if ERRORLEVEL 1 ( echo ERROR: Lint failed exit /b 1 ) :: Build the library and tools cmake --build . --config %CMAKE_CONFIG% if ERRORLEVEL 1 ( echo ERROR: Build failed exit /b 1 ) :: Build and exectute the tests if !RUN_TESTS! EQU 1 ( cmake --build . --target runtest --config %CMAKE_CONFIG% if ERRORLEVEL 1 ( echo ERROR: Tests failed exit /b 1 ) if %BUILD_PYTHON% EQU 1 ( if %BUILD_PYTHON_LAYER% EQU 1 ( :: Run python tests only in Release build since :: the _caffe module is _caffe-d is debug if "%CMAKE_CONFIG%"=="Release" ( :: Run the python tests cmake --build . --target pytest if ERRORLEVEL 1 ( echo ERROR: Python tests failed exit /b 1 ) ) ) ) ) if %RUN_INSTALL% EQU 1 ( cmake --build . --target install --config %CMAKE_CONFIG% ) popd @endlocal |
حالا برگردید به روت کفی . یعنی وارد پوشه کفی بشید بطوریکه پوشه های دیگه رو بتونید بببنید . مثل examples, scripts,python, و …. وقتی وارد پوشه شدید بدون اینکه روی هیچ فولدری کلیک کنید Shift رو نگهدارید و راست کلیک کنید. تو پنجره راست کلیک شما یه گزینه باید باشه بنام open command windows here روش کلیک کنید. پنجره cmd اجرا میشه و میبینید که مسیرش داخل کفی هست. (البته راه ساده تری هم هست اونم اینه که برای اینکه cmd رو تو یه پوشه خاصی باز کنیم وارد اون پوشه مورد نظر میشیم حالا تو آدرس باری که بالا پوشه هست و مسیر پوشه ما رو نشون میده کلیک میکنیم .هرچی هست پاک میکنیم مینویسیم cmd و انتر میکنیم . cmd تو پوشه ما اجرا میشه و مسیرش میشه مسیر جاری ما. )
به هر حال بعد از اینکه cmd اجرا شد حالا دستور زیر رو وارد میکنیم
1 2 3 |
scripts\build_win |
و عملیات کامپایل شروع میشه و اگه مراحل رو درست طی کرده باشید باید با موفقیت به انجام برسه .
فعال سازی پشتیبانی از کفی در پایتون(۳٫۵) :
بعد از اینکه کامپایل با موفقیت انجام شد. برای اینکه براحتی بتونیم از دستورات کفی در هر برنامه پایتون استفاده کنیم یا مثالهای پایتون رو براحتی اجرا کنیم در روت کفی وارد پوشه python میشیم و پوشه caffe رو کپی میکنیم و میبریم در پوشه site-packages در داخل python35یی که ساختیم . برای من این مسیر بصورت زیر هست (آناکوندا۳ رو در مسیر C:\Users\Master\Anaconda3\ کرده بودم در نتیجه برای رفتن به محیط python3 وارد پوشه evt و بعد lib و بعد site-packages میشم . یعنی این مسیر
1 2 3 |
C:\Users\Master\Anaconda3\envs\python35\Lib\site-packages |
حالا پوشه کفی رو اینجا کپی میکنم .
برای تست اینکه همه چیز بدرستی انجام شده . cmd رو بالا بیارید و تایپ کنید python. حالا دستورات زیر رو وارد کنید .
1 2 3 4 5 |
>>> import caffe >>> caffe.__version__ '1.0.0-rc5' |
موقع import کردن نباید خطایی دریافت کنید. اگر اینجا با موفقیت بود یعنی همه کار رو بدرستی انجام دادید. و اگر در زمان اجرای مثالها به خطایی برخوردید به احتمال زیاد بخاطر نبود پکیج مورد نیاز هست که میتونید براحتی از بخش navigator یی که بالا توضیحش رو دادیم پکجی های مورد نیازتون رو نصب کنید.
برای تست متلب هم بعد اینکه بیلد با موفقیت انجام شد میتونید براحتی ازش استفاده کنید . مثلا برای اینکه ببینید همه چیز اکی هست تو متلب دایرکتوری فعلی رو روی caffe\matlab ست میکنید (یعنی در داخل پوشه کفی پوشه متلب ) . بعد دستور caffe.run_tests() رو ران میکنید . تموم که شد با موفقیت میتونید مثال دمو رو اجرا کنید. توضیحات اینجا هم داده شده
نکات مهم :
به یک نکته مهم دقت کنید اونم این که هر زمان موقع کامپایل خطایی گرفتید که بخاطر تنظیمات اشتباه شما بود قبل از اینکه دوباره عمل کامپایل رو شروع کنید (تنظیمات رو تصحیح کردید و میخوایید دوباره کامپایل کنید) باید پوشه build رو حذف کنید. وگرنه دوباره خطا میگیرید. دلیل هم اینه که فایلها با تنظیمات قبلی شما ایجاد شده و پشفرض سعی میشه از اون فایلها استفاده بشه برای همین وقتی شما تنظیمات رو تغییر میدید اما پوشه build رو حذف نمیکنید به خطا میخورید.
سید حسین حسن پور ۲۳ فروردین ۱۳۹۶
برای دانلود پکیج از پیش کامپایل شده اینجا کلیک کنید
آرشیو :
این بخش از ابزارها به اینجا منتقل شده و شیوه کامپایل کفی در ورژن های قدیمی رو نشون میده (ضمنا این روش دیگه پشتیبانی نمیشه):
راه قدیمی:
مراحل زیر هم نحوه کار بصورت سابق و با استفاده از ویژوال استودیو۲۰۱۳ هست. (ویژوال استودی ۲۰۱۵ مشکل داره با این روش.)
برای ورژن تحت ویندوزش هم فقط کافیه که از پوشه windows فایل solution ویژوال استودیو ۲۰۱۳ رو اجرا کنید و بزنید کامپایل کنید . خودکار هر دیپندنسی داشته باشه از طریق nuget دانلود میکنه. فقط یادتون باشه cuda و cudnn رو قبلش دانلود و نصب کرده باشید. و مسیر cudnn رو تو فایل CommonSettings.props وارد کرده باشید.(یادتون باشه شما فایل CommonSettings.props.examples رو دارید باید پسوندش رو که .example هست حذف کنید.) اگه از پایتون میخوایید استفاده کنید بهترین گزینه دانلود Anaconda2 هست. اگر هم میخوایید wrapper متلب رو استفاده کنید یادتون باشه قبلش یکی از ورژنهای ۲۰۱۵a یا ۲۰۱۴a/b یا ۲۰۱۳a/b یا ۲۰۱۲b متلب نصب باشه و مسیرش رو در فایل CommonSettings.props ویرایش کرده باشید.
نکته بعدی اینکه cudnn رو که دانلود کنید باید یکجایی اکسترکتش کنید (از حالت زیپ خارجش کنید). وقتی اکسترکت شد باید یه پوشه داشته باشید با نام cuda که سه تا پوشه توشه. وقتی دارید مسیر cudnn رو تو فایل CommonSettings.props مشخص میکنید یادتون باشه مسیر جایی رو بدید که این پوشه cuda توشه. مثلا شما cudnn رو تو مسیر
D:\yejaee\ اکسترکت کردید. مسیری که باید برای cudnn تو فایل میدید همین باید باشه .دیگه نباید بنویسید
D:\yejaee\cuda\ ! من خودم برای راحتی کار پوشه cuda رو تو جایی که cuda toolkit رو نصب کردم کپی میکنم یعنی تو مسیر
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\ کپیش میکنم و همین مسیر رو تو تنظیمات وارد میکنم . مثل زیر
1 2 3 |
<CuDnnPath>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\</CuDnnPath> |
نمونه فایل تنظیمات من رو میتونید از اینجا دانلود کنید و ایده بگیرید تنظیمات چطوری باید باشه .(میتونید حتی کپیش کنید و بعد تغییرات خودتون رو توش بدید)
اگه میخوایید به نمونه مثالها و مستندارت Caffe نگاهی بندازید میتونید به اینجا یه نگاهی بندازید.
اگر مشکلی پیش اومد و میخواید جایی سوالی بپرسید از بخش پرسش و پاسخ ما یا گروه کاربری رسمی کفی(انگلیسی) میتونید اینکارو بکنید
نکته: در مورد پیدا کردن compute capability که برای استفاده از cudnn دونستنش لازمه از لیست موجود در بخش ابزارها استفاده کنید (اگه کارتتون اینجا نیست از اینجا کمک بگیرید . انویدیا مارو تحریم کرده با فیلتر شکن بازش کنید.یا از اینجا که نیازی به فیلتر شکن نداره)
نکته دوم : cudnn v3 و cudnn v4 به بعد همه از کارتهایی که compute capability 3 و بالاتر دارن پشتیبانی میکنن. کارتهایی که compute 2.1 رو پشتیبانی میکنن کلا باید قید استفاده از cudnn رو بزنن چون cudnnv1 و v2 هم حداقل نیاز به compute 3 دارن.
این دسته ازدوستان یا باید کارت گرافیکشون رو عوض کنن یا بدون استفاده از cudnn کامپایل رو انجام بدن.
لیست دانلود Cuda toolkit های قدیمی (کمتر از ۷). برای دانلود جدیدترین ورژن اینجا کلیک کنید
من تعدادی از این ورژن های مربوط به Cuda و cudnn رو اینجا آپلود کردم که اگه فیلترشکن ندارید بتونید دانلود کنید . اگر لینکی از کار افتاد بگید تا دوباره اپلود کنم.(با دانلود منجر میتونید دانلود کنید)
سلام
واقعا متشکرم برای آموزشی که قرار دادید. البته هنوز تستش نکردمُاما حتما یگیری خواهم کرد. بنده که تا الان موفق به راه اندازی کفی روی ویندوز نبودم. امیدوارم با این راهنمایی شما مشکلات حل بشن.
یک سوال مهندس:
اینجایی که فرمودین:؛در خط ۸۷ هم مشخص میکنیم که آیا دوست داریم wrapper متلب ایجاد بشه یا خیر! چون من ندارم ۰ انتخاب میکنم.؛…بنده علاقه رپر متلب داشته باشم اما هنوز متلب نصب نکردم. آیا ایرادی داره اگر الان فلگ استفاده از این رپر رو اینجا ست کنم و بعدا خود متلب رو نصب کنم؟ یا نهُ لازمه که حتما اول متلب نصب باشه؟
با تشکر از مطالب آموزنده و پیشروی شما
سلام . تا جایی که یادمه از قبل باید متلب نصب شده باشه . بعد عمل کامپایل رو انجام بدید.
این مراحل برای ورژن باینری است نه از پیش کامپایل شده درسته؟برای از پیش کامپایل شده میشه اموزش بذارید ممنون.ببخشید کد نویسی کفی هم به اندازه نصبش دردسر است؟
سلام .
ورژن از پیش کامپایل شده که حاضر و آماده اس چیز خاصی نداره! باید ازش استفاده کنید. اگه جای خاصی مشکل دارید باید در سایت مطرح کنید تا جواب بدیم
این آموزش کامپایل از سورس کد و بدست اوردن فایلهای اجرایی مورد نیاز هست.
کد نویسی کفی کلا بخاطر اینکه مستندات درست و حسابی نداره نسبت به بقیه فریم ورکها خیلی سخت تره . و بیشتر وقت شما صرف فهمیدن انجام یک کار یا پیدا کردن اطلاعات و مستندات در مورد یک تابع یا کلاس خاص میشه.
سلام
بنده طبق راهنمایی تمام مراحل را انجام دادم و و بعد از سر و کله زدن با یک سری مشکلات بالاخره کامپایل کردم. مشکلی که برای من پیش میومد این وبد که Cmake نمیتونست کتابخونه Zlib و pthread رو پیدا کنه و خطاهای مختلف می داد. این مشکل رو با نصب جدید ترین نسخه ی Cmake حل کردم (پیشنهاد میکنم دوستان هم قبل از ادامه مراحل حتما نسخه cmake خود را ارتقا بدهند).
اما سوالی که از مهندس حسن پور داشتم:
متاسفانه قسمت آخر کامپایل که همون Install هستش برای بنده خطا میده! البته من با زیرو کردن فلگ install تو فایل کانفیگ گفتم که دیگه مرحله Install رو انجام نده. اما من هم به فایل های install احتیاج دارم و هم shared libraries (که این یکی رو اگر تو کانفیگ ست کنم همون اول کامپایل خطا میده که ویژوال استدیو از Shared libraries پشتیبانی نمیکنه و….). لذا آیا راهی برای رفع این مشکل وجود دارد؟ در ادامه پیام، متن خطای کامپایل رو قرار میدم. با تشکر از شما و وقتی که میگذارید.
“D:\caffe-windows\build\install.vcxproj” (default target) (1) ->
(PostBuildEvent target) ->
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.ta
rgets(133,5): error MSB3073: The command “setlocal\r [D:\caffe-windows\build\in
stall.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targ
ets(133,5): error MSB3073: “C:\Program Files\CMake\bin\cmake.exe” -DBUILD_TYPE=
Release -P cmake_install.cmake\r [D:\caffe-windows\build\install.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targ
ets(133,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd\r [D:\caffe-window
s\build\install.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targ
ets(133,5): error MSB3073: :cmEnd\r [D:\caffe-windows\build\install.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targ
ets(133,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :c
mDone\r [D:\caffe-windows\build\install.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targ
ets(133,5): error MSB3073: :cmErrorLevel\r [D:\caffe-windows\build\install.vcxp
roj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targ
ets(133,5): error MSB3073: exit /b %1\r [D:\caffe-windows\build\install.vcxproj
]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targ
ets(133,5): error MSB3073: :cmDone\r [D:\caffe-windows\build\install.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targ
ets(133,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd\r [D:\caffe-window
s\build\install.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targ
ets(133,5): error MSB3073: :VCEnd” exited with code 1. [D:\caffe-windows\build\
install.vcxproj]
۱۶۳۷ Warning(s)
۱ Error(s)
Time Elapsed 00:24:24.32
سلام.
اگه از shared library میخوایید استفاده کنید باید از Ninja استفاده کنید. Ninja رو دانلود و اکسترکت کنید بعد مسیرش رو تو path در Environment variable ست کنید. بعد اقدام به کامپایل کنید.
قبل از هربار کامپایل هم پوشه build رو حذف کنید چون cmake تنظیمات رو کش میکنه
سلام
من از روش قدیمی اقدام به نصب کفی کردم وقتی با ویژال کامپایلش می کنم این خطا را بهم می ده
۵ IntelliSense: redeclaration cannot add dllexport/dllimport to “round” (declared at line 516 of “C:\Program Files (x86)\Microsof Visual Studio 12.0\VC\include\math.h”) c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xtgmath.h ۲۰۶ libcaffe
error C2220: warning treated as error – no ‘object’ file generated (..\..\src\caffe\layer_factory.cpp) c:\python27\include\pymath.h ۲۲ ۱ libcaffe
سلام روش قدیمی روی ورژن های جدید دیگه پشتیبانی نمیشه . از همین شیوه cmake اقدام کنید.
سلام
من با cuda 8 و cmk3.8 وقتی caffe نصب می کنم بهم خطا می ده ولی وقتی با cuada7.5 نصب می کنم کامپایلش با موفقیت ولی وقتی می خوام با پایتون تستش کنم بهم خطا می ده همه چی را چک کردم طبق روش شما انجام دادم اگه می شه راهنماییم کنید متشکرم
سلام . این سوال رو در سایت پرسش و پاسخ بپرسید و اطلاعات دقیق رو هم تو توضیحات سوالتون بیارید . مدل کارت گرافیکتون چیه . ویندوزتون چیه و چه مراحلی رو طی کردید و چه خطاهایی میگیرید (متن خطاها رو بنویسید )
سلام
من بالاخره موفق شدم کامپایل کنم البته تهش به ۱۳۰۰ تا warning داد که نمیدونم مهمه یا نه. خط ۹۵ رو هم فلگ install رو صفر کردم وگرنه error میداد.
آلان ولی وقتی تو متلب میخوام caffe.run_tests رو run کنم بهم error میده که تابع caffe_ رو نمیشناسه در حالی که اینجا هست و به path متلب هم اضافه شده
caffe-windows\matlab\+caffe\private\Release\caffe_.mexw64
میدونین خطا ممکنه مربوط به چی باشه؟ ممکنه واسه این باشه که درست کامپایل نشده.
سلام.در بخش پرسش و پاسخ سوال رو لطفا مطرح کنید.
سلام
من انجام دادم و در اخر در سی ام دی ارور زیر میاد
error:configure failed
سلام.لطفا در سایت پرسش و پاسخ سوال بپرسید و متن کامل خطاها رو قرار بدید اونجا پیگیری میشه.
ایا این در سایت درست است؟
من اناکوندا ۲ نصب کردم به امید ایتکه بتونم دیجیت را روش نصب کنم. تو سایت گفتید بعد از نصب اناکوندا ۲ “نیازی به طی این مسیر نیست و مستقیما به بخش آموزش کفی برید”فکر میکنم باز باید تنظیمات انجام داد. نحوه نصب کفی در اناکوندا ۲ چجوریه؟میشه زحمت بکشید یا لینک بدید چجوری میشه نصبش کرد و تنظیماتش انجام داد؟ممنون
سلام .
DIGITS خودش پیش نیازهای مختلفی داره . حتی بک اند کفی اون هم الان کمی متفاوت از برنچ اصلی هست . برای همین هم از چند ماه پیش اموزش بکارگیری اون در ویندوز هم بروز نشده . من اطلاع ندارم آیا اپدیت جدیدی دادن برای ویندوز یا نه .
اما برای نصب کفی مراحل به همین صورتی هست که عرض کردم چه برای اناکوندا۲ و چه اناکوندا ۳ .
درست است اما من میگم. DIGIT را بخواهم روی اناکوندا ۲ نصب کنم ایا میشه؟ و اینکه شما گفتید اگر اناکوندا ۲ نصب کنم دیگر تنظیمات کفی ۳٫۵ از جمله فایل کانفیگ لازم نیست در بالا اما فکر نکنم درست باشه چون باید برای اناکوندا ۲ لا اقل فایل کانفیگ را تغییر داد(قسمت ادرس دایرکتوری). بعد شما گفتید بعد نصب اناکوندا ۲مستقیم بریم سراغ امورش کفی(در بالا) و این یعنی بعد نصب اناکوندا ۲ احتیاح به دانلود فایل کفی نیست؟ میشه بک اند کفی دیجیت ۲ را بفرستید برام؟
بحث کفی با با بحث دیجیتس کاملا متفاوته .
در مورد اناکوندا۲ و ۳ هم عرض کردم که اگه قراره از پایتون ۲ استفاده کنید همون اناکوندای ۲ رو نصب کنید کفایت میکنه . بعد برید کفی رو کامپایل کنید بر اساس چیزی که توضیح دادم .
اناکوندا ۲ یک پکیج برای کار با پایتون هست که کتابخونه های مختلف از قبل درش قرار گرفته و کار توسعه رو خیلی راحت میکنه . چیز خاصی نیست.
بک اند دیجیتس هم مثل کفی از GITHUB قابل دانلود و کامپایل هست. اما فعلا رو لینوکس صد در صد اجرا میشه . برای ویندوزش من چیزی ندیدم جز همون توضیحاتی که قبلا دادم .
سلام
وقت بخیر و خداقوت
من میخوام با CNN بیماری صرع رو تشخیص بدم. به نظرتون کافی میتونه بهتر از متلب باشه؟ من هیچ اطلاعی نسبت به کافی ندارم و نمیدونم کدهاش چجوریه.پیشنهادتون چیه؟ تشکر از بذل توجهتون
سلام
برای کد نویسی کفی اصلا پیشنهاد نمیشه
برای تشخیص بیماری با CNN فکر کنم بدون نیاز به کد نویسی بتونید کارتون رو پیش ببرید. همه اطلاعات مورد نیاز برای شروع کار با کفی در سایت هست. اونا رو مطالعه کنید یک مثال اجرا کنید تا کاملا بیاد دستتون به چه شکل هست.
برای کارهای جدی من کلا تنسورفلو یا پارتورچ رو پیشنهاد میکنم (با تاکید روی تنسورفلو)
متلب اصلا پیشنهاد نمیشه
تشکر از پاسختون
یعنی بدون نیاز به کدنویسی در کفی؟
صرفا برای پایان نامم میخام
کار جدی نمیخام
سلام ممنون از اموزشتون
ببخشید قبلا یه مطلب برای نصب کفی تو سایت بود این همون مطلبه که تکمیل شده یا یکی دیگه اس؟
ممنون
سلام .
این همون آموزش ویندوز هست که ابتدای سال ۹۶ نوشته شد.
سلام
سال قبل من از روی سایت با کمک خودتون کفی رو نصب کردم ، اون آموزش حذف شده ؟
سلام.
متوجه شدم . اون اموزش در بخش ابزارها بود . بله اون حذف شد (در اصل منتقل شد به انتهای همین پست) چون نسخه قدیمی بود و دیگه پشتیبانی نمیشد. برای همین من دوباره یک آموزش جدید اختصاصی برای نسخه جدید کفی نوشتم و فرودین ۹۶ منتشر کردم که همینی هست که مشاهده میکنید
از پاسخ گوییتون سپاس گذارم
سلام مجدد
من آناکوندا ۲ نصب کردم، دوتا سوال داشتم
۱- اون مراحل آماده سازی پایتون و نصب پکیج هایی مثل ipython,sklearn و… که در توضیحات گفتید برای اناکوندا ۲ هم لازمه ؟
۲-برای pytorch از اناکوندا ۲ میتونم استفاده کنم یا باید آناکوندا۳ رو نصب کنم ؟
ممنون
سلام
۱- اونها رو خود anaconda2داره پیشفرض ولی اگر نبود میتونید نصب کنید
۲- pytorch و کلا همه به غیر از کفی از پایتون ۳٫۵ و ۳٫۶ پشتیبانی مکنن در ویندوز . برای همین اناکوندا ۴ (آخرین ورژن اناکوندا) رو نصب کنید برای این فریم ورکها
از لطفتون ممنونم
سوال آخر پایتون کتابخونه خاصی برای یادگیری عمیق داره ؟
یعنی چی ؟
تنسورفلو و پای تورچ پکیج های پایتون هستن که خیلی راحت میش هنصبشون کرد
این کفی هست که یکم سرطانه! بقیه راحت و بی دردسر نصب و اجرا میشن معمولا
پایتون کتابخونه های زیادی داره گفتم شاید برای یادگیری عمیقم کتابخونه داشته باشه ، ک اینجوری که شما فرمودید فک میکنم با پای تورچ و تنسرفلو میشه از پایتون تو یادگیری عمیق استفاده کرد
ببخشید استفاده از پای تورچ و تنسورفلو هم به سادگی استفاده از کفی هست ؟ (چون من قبلا با کمک خودتون کفی نصب کردم راحت میشد شبکه های مختلف رو اجرا کرد و خروجی گرفت)
با سلام
من قبلا با راهنمایی های این سایت کفی نصب کردم و باهاش کار کردم مهندسی حسن پور گفتن کفی دیگه پشتیبانی نمیشه و کفی۲ کار میشه من ی بخشی از پایان نامم باید از یادگیری عمیق استفاده کنم در حد استخراج ویژگی از یکی ازشبکه های معروف train شده ، میخواستم بدونم با توجه ب اینکه قبلا با کفی کار کردم الان از کفی۲ استفاده کنم بهتر و راحتتره یا برم سراغ پای تورچ؟(همین طور ک قبلا عرض کردم من قرار نیست وارد خود مبحث عمیق بشم و فقط از ی شبکه استفاده میکنم)
ممنون
سلام
طرف Caffe2 که ابدا نرید!
برای پیشبرد کارتون هم هم میتونید از Caffe استفاده کنید و هم از pytorch یا تنسورفلو . اگه Caffe قبلا کار کردید و بلدید که هیچ با همون برید جلو اگر بلد نیستید پیشنهاد میکنم با pytorch یا تنسورفلو برید جلو .
سلام
از آموزشتون و پاسخگوییتون بی نهایت سپاس گذارم
من از قبل آناکوندا۲ و پایتون۲٫۷ رو روی سیستمم نصب دارم برای استفاده از کفی جدید ک اموزشش رو گذاشتید نیاز به نصب پایتون۳ یا آناکوندای ورژن جدیدتر هست یا خیر؟
با تشکر
با سلام
من از اناکوندا ۲ وپایتون ۲٫۷ استفاده میکنم آدرس این بخش رو به چو صورت باید کامل کنم
:: Set python 2.7 with conda as the default python
if !PYTHON_VERSION! EQU 2 (
set CONDA_ROOT=C:\Miniconda-x64
)
:: Set python 3.5 with conda as the default python
if !PYTHON_VERSION! EQU 3 (
set CONDA_ROOT=C:\Users\Master\Anaconda3\envs\python35
)
آدرس آنکوندا رو ب صورت C:\Program Files\Anaconda2 بدم کافیه؟
با تشکر
سلام. وقتی از اناکوندا ۲ استفاده میکنید بخش مربوط به ۲ رو ویرایش کنید .
با سلام
از آموزش فوق العادتون و پاسخگویی شما نهایت سپاس گذاری رو دارم واقعا ممنونم ، انشاءالله همیشه سلامت و موفق باشید
سلام
ممنون از سایت خوبتون
من تمتم مراحل رو برای نصب انجام دادم ولی موقع اجرا خطای زیر رو میده!
“C:\Caffe_1.0_Windows-master\build\ALL_BUILD.vcxproj” (default target) (1) ->
“C:\Caffe_1.0_Windows-master\build\src\caffe\caffe.vcxproj” (default target) (3) ->
(CustomBuild target) ->
C:/Users/rasool.iranpoor/.caffe/dependencies/libraries_v140_x64_py35_1.1.0/libraries/include/boost-1_61\boost/config/
compiler/nvcc.hpp(22): fatal error C1017: invalid integer constant expression [C:\Caffe_1.0_Windows-master\build\src\ca
ffe\caffe.vcxproj]
۱۳۹ Warning(s)
۱ Error(s)
Time Elapsed 00:00:13.25
ERROR: Build failed
ورژن cuda 9 و cudnn 8 v6 و از اخرین ورژن کفی استفاده میکنم
سلام
برای کفی باید از cuda 8 و cudnn 5.1 یا cudnn 6 استفاده کنید.
ممنون از پاسختون
cuda 8 رو نصب کردم ولی بازم همین خطا رو می داد.قبل از دو خط بالا خط زیر هم به صورت خطا میاد
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: “cmd.exe” exi
ted with code 1. [C:\Caffe_1.0_Windows-master\build\src\caffe\caffe.vcxproj]
Done Building Project “C:\Caffe_1.0_Windows-master\build\src\caffe\caffe.vcxproj” (default targets) — FAILED.
اقا من این خطا رو دارم چیکار کنم؟؟؟؟
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: “cmd.exe” e
xited with code 5. [C:\Users\AminKS\caffe\build\src\caffe\caffe.vcxproj]
سلام . لطفا موقع پرسش سوال کل لاگ رو قرار بدید .
علاوه بر اون قبلش حتما بخش پرسش و پاسخ رو سرچ کنید که اگر قبلا سوال مشابه ای باشه بتونید سریعتر به جواب برسید.
با سلام و تشکر از سایت بسیار خوبتون
برای نصب Cmake مشکل دارم . ورژن ۳٫۹٫۶ را دانلود کردم. در صورتی که امکانشو داشته باشید توضیحی در ارتباط با نصب آن بفرمایید ممنون میشم.
سلام .
هر وقت خطایی میگیرید برای اینکه بشه بشما کمک کرد باید لطف کنید دقیقا بگید چه قدم هایی رو برداشتید و چه دستوراتی رو زدید و بعد چه خطاهایی گرفتید .
من فعلا تا ابتدای آبان بشدت سرم شلوغ هست و نمیرسم به سایت و یا سوالات بچه ها جواب بدم و اگر هم جوابی بدم سریع و کوتاه هست . بهترین کار پرسیدن سوال در سایت پرسش و پاسخ هست
چون عزیزان مختلفی اونجا هستن و کمکتون میکنن .
سلام
آقای حسن پور، متشکرم از سایت خوبتون. من دوتا سوال داشتم از خدمتتون.
کارت گرافیک لپتاپ من AMD هست و کودا رو ساپورت نمیکنه و ویندوز ۷ رو نصب دارم.
من بعد از نصب cmake و VS2015 اقدام به نصب anaconda3 کردم. همون طور که فرموده بودید در environment برای پوشه ای که create کردم از حالت کشویی ۳٫۵ رو انتخاب کردم اما متاسفانه وقتی تست میکنم ورژن پایتون را ۳٫۶ نشان میدهد.
علاوه بر آن در قسمت enviroment variables/user variable for متاسفانه وقتی برای path گزینه edit را وارد میکنم گزینه هایی که در تصویر شما بود نشان داده نمی شوند بلکه هربار که این کار را انجام می دهم پنجره ای با دو آیتم زیر هست:
variable name:path
variable value: c:\program files\cmake\bin
سلام
کارت گرافیک AMD بطور مستقیم پشتیبانی نمیشه روی ویندوز شما باید از ورژن OpenCL استفاده کنید (تو لینوکس کامپایل و استفاده کنید)
اگه بخوایید از کفی در ویندوز استفاده کنید ناچارا باید از ورژن Cpu only استفاده کنید که خیلی زمان میبره
برای اینکه ورژن پایتون شما هم ۳٫۵ باشه باید مسیرهای مربوط به ورژن ۳٫۵ رو تو متغییر PATH قبل از مسیرهای مربوط به ورژن ۳٫۶ بزارید . یا مسیرهای مربوط به ورژن ۳٫۶ رو از اونجا حذف کنید .
بله در ویندوز ۸ و ۱۰ اون بخش به این شکل در اومده و کار رو خیلی راحت کرده برای ویندوز ۷ شما باید مسیرهای مورد نظر رو همون ابتدای path اضافه کنید و بعد از هر مسیر هم یه ; بزارید . اگر هم بخوایید مثلا مسیرهای پایتون ۳٫۶ رو حذف کنید باید محتویات path رو کپی کنید ببرید تو یه نوت پدی یا notepad++یی بعد اون مسیرها رو حذف کنید و بعد دوباره هرچی باقی موند رو کپی کنید و بیارید دوباره در path کپی و اکی کنید.
ببخشید آقای مهندس من با anaconda2 شروع کردم کار کردن، اما اینطوری هم برای کامپایل کفی با نگه داشتن شیفت و راست کلیک همونطور که فرموده بودید cmd رو اجرا کرده و عبارت scripts\build_win رو تایپ کردم اما متاسفانه بجای ساخته شدن build این عبارت در پنجره cmd ظاهر شد.
caffe_1.0_windows_master\scripts\\appveyor\appveyor_install_cuda.cmd was unexpected at this time
این رو هم بگم من با توجه به مدل لپتاپم، cuda8 و cudnn6 نصب نکردم.
با تشکر از پاسخگوییتون
سلام
پایین خدمتون توضیح دادم که شما باید از CPU only استفاده کنید.
اگه از کارت گرافیک بخوایید استفاده کنید باید ورژن OPenCL کفی رو نصب کنید که در بخش ابزارها اومده
سلام
بسیار ممنون از پاسخگوییتون و از اینکه وقت میذارید
آقای مهندس من در خط ۷۵ همونطور که فرموده بودید روی cpu_only تنطیمش کرده بودم. اما متاسفانه همان مشکل را دارم همچنان. با وجود اینکه آناکوندا۲ رو uninstall کرده و دوباره آناکوندا۳ رو نصب کردم ولی همان مشکلات را دارم.
سلام
ببخشید آقای مهندس من از ورژن cpu-only کفی برای ویندوز استفاده کردم.
۱٫ آماده سازی و کامپایل کفی برای این ورژن با توجه به وجود پوشه build در آن منتفی است؟
۲٫ فعال سازی پشتیبانی از کفی در پایتون نیز برای این ورژن منتفی است یا نیاز داریم؟ چون من وقتی مراحل فعالسازی رو که فرمودید انجام میدم از دستور import caffe به no module named caffe می رسم.
۳٫ در بخش های اولیه نیز همچنان edit environment variable یک مسیر بیشتر قبول نمیکنه و من همان مسیر مربوط به محیطی که خودم قبلاً ساخته بودم رو قرار دادم و در نهایت بایستی از activate استفاده کنم که از نظر من اشکالی نداره اما موقع تست کردن، در cmd ورژن پایتون رو ۳٫۶ میگیرم ولی در محیط ایجاد شده بعد از activate همان ۳٫۵ را دریافت میکنم، اشکالی ندارد؟
پیشاپیش خیلی ممنونم از جنابعالی
سلام .
من تا ۲۹ آذر بشدت مشغول هستم و نمیرسم به سوالها جواب کامل بدم برای همین شما حتما سوالتون رو در سایت پرسش و پاسخ مطرح کنید تا عزیزان اونجا بتونن زودتر بشما کمک کنن.
زمانی که کامپایلی قراره انجام بشه حتما پوشه build رو پاک کنید.(اگر وجود داره )
برای استفاده از کفی در پایتون نیاز به انجام اون مراحل تنظیم اناکوندا دارید (انتقال پوشه caffe به site packages در اناکوندا)
اگر با اکتیویت مشکلی ندارید مساله ای نیست . در محیطی که اکتیویت کردید باید کد زنی کنید ولی قبلش لازمه که پوشه caffe رو طبق خط قبل اکی کنید)
نیازی به کامپایل ندارید شما . میتونید از ورژن از پیش بیلد شده استفاده کنید (ورژن CPU only ) که از همون صفحه که سورس رو دانلود کردید میتونید نسخه از پیش کامپایل شده اش رو هم دانلود کنید و دردسر بیلد کردن رو نکشید خودتون.
سلام
ممنونم آقای مهندس، خیلی لطف کردید.
سلام
آقای مهندس عذرخواهی میکنم برای دانلود cuda غیر از سایت nvidia شما راه دیگه ای رو پیشنهاد می کنید؟
ممنون
سلام. من معمولا هر از چندگاهی این نسخه ها رو دوباره تو اکانتم در uploadboy اپلود میکنم. تا کسایی که مشکل دارن بتونن از اونجا دانلود کنن.
http://uploadboy.com/users/coderx7/172364/Tools
اگر نسخه ای پاک شده بود یا نبود بگید کدوم ورژن برای چه نسخه ای رو میخواید تا اپلود بشه
سلام
ممنونم ، خیلی لطف کردید.
ببخشید آقای حسن پور cuda 8 ای که تو اکانتتون هست برای ویندوز ۱۰ یا ۸ و ۷ فرقی نداره؟
سلام
مربوط به ویندوز ۱۰ (و همینطور ۸) هست.
سلام
ممنون آقای مهندس.
سلام
عذرخواهی میکنم آقای مهندس، من کودا ۸ رو از تو اکانتتون دانلود کردم ولی وقتی نصبش میکنم میگه
This nvidia graphic drivers is not compatible with this version of windows
ویندوز ۱۰ دارم.
ممنون میشم اگه لطف کنید راهنمایی بفرمایید
کارت گرافیکتون چه مدلیه ؟
درایور رو اپدیت کردید ؟
gtx1070 msi
بله درایور آپدیت است.
دوباره ورژن مربوط به ویندوز ۱۰ رو دانلود کنید. من هر سه رو جداگانه اپلود و رینیم کردم که مشکلی نباشه.
ممنون.
خیلی لطف کردید.
سلام
آقای مهندس فایل cudnn شامل فولدری به اسم cuda که شامل سه فولدر bin,include.lib هست و فایل اجرایی نداره. ما باید اینا رو بیاریم تو تو پوشه CUDAکه نصب شده؟
ممنون
سلام . مشکلی نیست . cudnn یکسری توابع و کتابخونه و… هست.ه همین فایلاهاست.
نیازی نیست تو پوشه CUDA بزارید هر جایی میتونید بزارید ولی تو پوشه CUDA کپی کنید خیلی بهتره چون خود پوشه CUDA در متغییر PATH هست و پوشه های زیر اون هم قرار میگیرن و برنامه ها خودکار پیدا میکننش
اگر اینکارو نکنید باید هرجایی که کپی کردید این پوشه رو، اونو به PATH اضافه کنید.
سلام
بسیار ممنون.
با سلام
ببخشید وقتی من میخوام تو Anaconda nvigator یه env جدیدی create کنم این خطا رو بهم میده C:\Users\ZM\Anaconda3\python.exe C:\Users\ZM\Anaconda3\Scripts\conda-script.py create –yes –json –mkdir –name python35 python=3.5 –override-channels –channel https://conda.anaconda.org/anaconda-fusion –channel https://repo.continuum.io/pkgs/pro –channel https://repo.continuum.io/pkgs/free –channel https://repo.continuum.io/pkgs/r –channel https://repo.continuum.io/pkgs/msys2: HTTP None None for url Elapsed: NoneAn HTTP error occurred when trying to retrieve this URL.HTTP errors are often intermittent, and a simple retry will get you on your way.SSLError(SSLError(SSLError(“bad handshake: SysCallError(-1, ‘Unexpected EOF’)”,),),)
بارها آناکوندا رو uninstall کردم و دوباره نصب کردم اما نمیشه روالی که فرمودید رو تا آخر انجام بدم. به نظر شما اشکال کار چیه؟
سلام
اگه از vpn استفاده میکنید غیرفعالش کنید .
اگه باز ادامه داشت این دستور : conda config –set ssl_verify no
یا این conda config –set ssl_verify false رو استفاده کنید
با سلام و احترام
ابتدا از آموزش خوبی که برای نصب کفه گذاشتید تشکر میکنم.
من فقط یه مشکل دارم. پس از نصب anaconda3 روی ویندوز ۱۰ بار اول anaconda navigator بالا اومد و من رفتم داخل محیط environment و پایتون ۳٫۵ رو معرفی کردم و حتی کتابخونه تنسور رو هم نصب کردم. سپس اومدم بیرون و رفتم داخل path تا مسیرها رو اصلاح کنم.
اما بعدش که خواستم دوباره وارد anaconda navigator بشم، متاسفانه برنامه بالا میاد و پس از یک ثانیه خودش خودکار بسته میشه. من میخوام با محیط spyder کار کنم. به نظرتون مشکل از چی هست؟
خواهشمند است راهنماییم کنید. من این مشکلو تو ویندوز ۸٫۱ هم داشتم و برا همین حتی ویندوزم رو عوض کردم تا شاید درست بشه.ولی تو ۱۰ هم الان برنامه میپره!
ممنون از راهنمایی ها و سایت خوبتون
سلام
من متاسفانه ۳٫۵ الان نصب ندارم و نمیدونم مشکل از چی میتونه باشه سوال رو در سایت پرسش و پاسخ مطرح کنید تا عزیزانی که احیانا اطلاع دارن راهنماییتون کنن
من متاسفانه کمی درگیر هستم و نمیتونم زیاد کمکتون کنم در این زمینه
سلام
خیلی خیلی ممنونم بابت آموزش خوبتون اونم به زبون فارسی.
من در راه اندازی کفی به خطا برخوردم که نمیدونم چجوری باید رفعش کنم؟ میشه لطفا راهنماییم کنید؟
The system cannot find the path specified.
CMake Error: CMake was unable to find a build program corresponding to “Ninja”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
— Configuring incomplete, errors occurred!
See also “D:/uni-shahrud/graduated/payaname/implementation/Caffe_1.0_Windows-master/build/CMakeFiles/CMakeOutput.log”.
ERROR: Configure failed
سلام. لطفا قبل از هرچیزی خطایی که میگیرید رو در سایت پرسش و پاسخ جستجو کنید و اگر سوالی مشابه شما نبود یک سوال جدید اونجا ایجاد کنید و تنظیماتتون و متن کامل خطا رو اونجا قرار بدید با توضیحات کامل مبنی بر اینکه چه گامهایی رو برداشتید (بصورت دقیق)
تا راهنمایی بشید.
با سلام
من می خواهم Caffe را در متلب استفاده کنم. آیا مراحل نصب آن بر روی سیستم باز به همین شکل است؟
اگر در مورد استفاده از Caffe تجربه هم دارید ممنون می شوم در اختیارم قرار دهید
با تشکر
سلام. بله
بله مشکلی دارید میتونید از بخش پرسش و پاسخ بپرسید
سلام جناب مهندس
من برای نصب caffe درایور را نصب کردم ولی برای دانلود و نصب cudnn مشکل دارم اگر براتون مقدور است دوباره آپلود کنید ممنون میشم .
سلام
کودا رو دانلود و نصب کردید؟ فقط به cudnn نیاز دارید؟
بفرمایید cudnnv7 :
http://coderx.ir/Files/tools/cudnn-9.0-windows10-x64-v7.zip
سلام. من تو متلب زمانی که دستور caffe.run_tests() رو می نویسم چنین اروری بهم میده.
Undefined function or variable 'caffe_'.
Error in caffe.set_mode_cpu (line 5)
caffe_('set_mode_cpu');
Error in caffe.run_tests (line 6)
caffe.set_mode_cpu();
تمام مراحل قبلی بدون مشکل انجام شدن. باید چیکار کنم؟
سلام.
من خودم با متلب کار نمیکنم و الان هم متاسفانه متلب نصب ندارم . اما توضیحات اینجا رو انجام دادید ؟
ضمنا نسخه متلب شما چنده ؟ نسخه هایی که تا بحال تست شدن ۲۰۱۲ تا ۲۰۱۵ بودن.
بله، کارایی که گفته رو انجام دادم. متلب من ۲۰۱۶ هست.
با سلام
و تشکر بابت اموزش مفید شما
امکانش هست که کامپایل caffe رو برای نسخه ۳٫۷٫۱ رو هم لطف بفرمایید بزارید برای دانلود
سلام
فعلا سرم شلوغ هست انشاءالله فرصت کردم بله حتما اضافه میکنم
با سلام. برای پایتون ۳٫۷ میتونیم کامپایل کنیم؟
سلام
باید بشه باید کفی بیلدر رو دانلود کنید و دیپدنسی هاش رو بگیرید و از طریق اون بیلد کنید.
لینک کمکی ندارید که پست اموزشی راهنما داشته باشه؟
ممننون میشم اگه لطف کنید
با عرض سلام
آیا بعد از نصب cmake باید تنظیمات خاصی در آن انجام داد؟ یا اینکه بعد از نصب کفه به طور خودکار این برنامه فراخوانی و ازش استفاده میشه؟
سلام .
نه cmake رو موقع نصب باید به PATH اضافه کنید اگه نکردید بعد از نصب باید اونو اضافه کنید. بعدش در فرایند بیلد ازش استفاده میشه
در مراحل کامپایل کفی گفته بودید کسانی که کارت گرافیکشون از cudnn پشتیبانی نمیکنه لازم نیست تنظیمات مربوط به مسیر cudnn را انجام بدهند. سوالی که پیش میاد اینه که آیا این افراد هم نیاز به نصب cuda8 و cudnn6 دارند؟ و اینکه این دو باید جداگانه از اینترنت دانلود و نصب شوند یا اینکه میشه از طریق آناکوندا نصبشون کرد؟؟
سلام
کسی که گرافیک انویدیا نداره نیازی به نصب کودا تولکیت و cudnn نداره
حتی اگرم کارت گرافیک انویدیا داشته باشه اما فقط بخواد cpu only بیلد بکنه نیازی به نصب اینها نداره.
آدرس مربوط به CUNDA_ROOT چه آدرسی است؟ آیا همان آدرسی است که در edit environment variable برای پایتون ۳۵ اضافه کردیم؟
بله تو آموزش مشخص هست
جایی که گفته شده در محل پوشه کفه بدون انتخاب یا باز کردن پوشه ها کلید شیفت را بگیریم و بعد کلیک راست کنیم تا cmd با مسیر همان پوشه باز شود، بعد از کلیک راست کردن من گزینه ای به اسم open command windows here ندیدم بلکه به جای آن open power shell window here را داشتم. البته من cmd رو از روش دومی که گفتید باز کردم ولی میخواستم فرق این دو رو بدونم؟ اینکه power shell window چیه و آیا میشه دستوری که گفتید رو درون آن هم نوشت و اجرا کرد یا خیر؟؟
بصورت پیشفرض تو نسخه های جدید ویندوز انگار powershell میاد بالا (قبلا برای بار اول که اجرا میشد میپرسید میخوایید Powershell اجرا بشه یا cmd فکر میکنم هنوز هم بشه از بخش تنظیمات اینو تغییر داد )
همه دستورات cmd تو powershell معتبر نیستن(یعنی بعضی ها متفاوتن و) و به همین شکل دستورات powershell هم تو cmd معتبر نیستن . مثلا برای اجرای بچ فایلها و.. از cmd استفاده کنید غیر اون تو پاور شل احتمالا به خطا میخورید
اینم ببینید خوبه
سلام جناب مهندس
من برای نصب cuda8، caffe را نصب کردم ولی برای دانلود و نصب cudnn5.1 مشکل دارم اگر براتون امکان پذیر است ممنون میشم دوباره آپلود کنید . متشکرم.
سلام.
خدمت شما https://mega.nz/folder/YIFmFJzB#YcnXolUWlCVnQ11jm2f2qg