به بخش پرسش و پاسخ یادگیری عمیق خوش آمدید,
این نسخه آزمایشی سایت است.
لطفا به نکات زیر توجه کنید:
  • برای ارتباط با مدیران میتوانید از صفحه مدیران اقدام کنید.
  • سوال و جواب ها باید به زبان فارسی باشند. استفاده از زبان انگلیسی یا فینگلیش برای پاسخ دادن مجاز نیست.
  • لطفا بعد از پرسش سوال لینک سوال خود را در گرو تلگرام (Iran Deep Learning Group) معرفی کنید تا سریعتر به جواب برسید. برای دسترسی به آخرین لینک از منابع یادگیری استفاده کنید
  • لطفا بجای عکس از متن استفاده کنید. اگر متون طولانی هستند از سایت pastebin.com برای اپلود استفاده کرده و لینک حاصل را در سوال خود قرار دهید. برای قرار دادن تصویر ، از بخش ارسال تصویر ادیتور سایت استفاده کنید.
  • بعد از دریافت پاسخ، بهترین پاسخ را از طریق کلیک بر روی علامت تیک انتخاب کنید
  • اگر با خطا و یا مشکلی مواجه شدید از بخش تماس با ما در انتهای صفحه و یا ایمیل Coderx7@gmail.com موضوع را اطلاع دهید.

با تشکر

دسته بندی ها

0 امتیاز

با سلام و خسته نباشید
من مطابق دستور العمل قرارداده شده در سایت شما و در سایت caffe سعی کردم که شبکه lenet را با دیتاست خودم ترین کنم. دیتاست را ساخته و پارامتر های فایل های lenet.prototxt و lenet_solver.prototxt و lenet_train_test.prototxt را هم مطابق دیتاست خودم و توضیحات شما ست کردم. سپس train_lenet.bat را هم به دایرکتوری مربوط به دیتاست خودم در examples آوردم و محتوای آن را هم تغییر دادم . به این شکل:

REM going to the caffe root
CD ../../
SET TOOLS=Build/x64/Release
"%TOOLS%/caffe.exe" train --solver=examples/Ear/lenet_solver.prototxt

pause

البته باید بگم که سیستم من قابلیت اینو نداره که با gpu کار کنه. به همین خاطر مورد اخر از فایل lenet_solver.prototxt را سی پی یو قرار دادم نه جی پی یو.

# solver mode: CPU or GPU
solver_mode: CPU

حالا که فایل bat را میخوام اجرا کنم ، ایراد از کودا میگیره و میگه روی سیستم نصب نیست. در صورتی که من کودای 7.5 را نصب کردم و قبلنا هم همین شبکه را ترین کردم ولی الان نمیدونم ایراد از کجاست. ممنون میشم کمکم کنید. اینم اجرای فایل

 bat:
 
 C:\anaconda\caffe-windows-new\caffe-windows>"Build/x64/Release/caffe.exe"
 train
 --solver=examples/Ear/lenet_solver.prototxt I0406 04:00:46.073326  4416 caffe.cpp:211] Use CPU. E0406 04:00:46.106328  4416
 common.cpp:122] Cannot create Cublas handle. Cublas won't be
 available. E0406 04:00:46.123328  4416 common.cpp:129] Cannot create
 Curand generator. Cura nd won't be available. I0406 04:00:46.164331 
 4416 solver.cpp:48] Initializing solver from parameters:

test_iter: 9
test_interval: 14
base_lr: 0.01
display: 100
max_iter: 10000
lr_policy: "inv"
gamma: 0.0001
power: 0.75
momentum: 0.9
weight_decay: 0.0005
snapshot: 5000
snapshot_prefix: "examples/Ear/lenet"
solver_mode: CPU
net: "examples/Ear/lenet_train_test.prototxt"
train_state {
  level: 0
  stage: ""
}

 I0406 04:00:46.218334  4416 solver.cpp:91] Creating training net from
 net file: examples/Ear/lenet_train_test.prototxt I0406 04:00:46.223335
 4416 net.cpp:322] The NetState phase (0) differed from th e phase (1)
 specified by a rule in layer mnist I0406 04:00:46.226335  4416
 net.cpp:322] The NetState phase (0) differed from th e phase (1)
 specified by a rule in layer accuracy I0406 04:00:46.228334  4416
 net.cpp:58] Initializing net from parameters:

name: "LeNet"
state {
  phase: TRAIN
  level: 0
  stage: ""
}
layer {
  name: "mnist"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  transform_param {
    scale: 0.00390625
  }
  data_param {
    source: "examples/Ear/eardataset_train_lmdb"
    batch_size: 25
    backend: LMDB
  }
}
layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  convolution_param {
    num_output: 20
    kernel_size: 5
    stride: 1
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "pool1"
  type: "Pooling"
  bottom: "conv1"
  top: "pool1"
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
  }
}
layer {
  name: "conv2"
  type: "Convolution"
  bottom: "pool1"
  top: "conv2"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  convolution_param {
    num_output: 50
    kernel_size: 5
    stride: 1
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "pool2"
  type: "Pooling"
  bottom: "conv2"
  top: "pool2"
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
  }
}
layer {
  name: "ip1"
  type: "InnerProduct"
  bottom: "pool2"
  top: "ip1"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  inner_product_param {
    num_output: 50
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "relu1"
  type: "ReLU"
  bottom: "ip1"
  top: "ip1"
}
layer {
  name: "ip2"
  type: "InnerProduct"
  bottom: "ip1"
  top: "ip2"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  inner_product_param {
    num_output: 50
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "loss"
  type: "SoftmaxWithLoss"
  bottom: "ip2"
  bottom: "label"
  top: "loss"
}

 I0406 04:00:46.248337  4416 layer_factory.cpp:58] Creating layer mnist
 F0406 04:00:46.278337  4416 internal_thread.cpp:26] Check failed:
 error == cudaS uccess (38 vs. 0)  no CUDA-capable device is detected
 *** Check failure stack trace: ***
توسط (150 امتیاز)
ویرایش شده توسط
سلام. خودتون کامپایل کردید یا از ورژن از پیش کامپایل شده استفاده کردین؟
خودم کامپایل کرده بودم . جالب اینجاست که با اینکه در کنترل پنل نشون میده که کودا 7.5 نصب شده اما در برنامه techpower up gpu-z که در واقع نشون میده که کودا نصب شده و یا نه و در کل اطلاعاتی را در مورد کارت گرافیک نشون میده، تیک کودا نخورده. گویا اصلا نصب نیست.
gpu-z نشوندهنده نصب بودن یا نبودن کودا نیست. نشون دهنده پشتیبانی از اونه . اگه دوتا کارت گرافیک دارید gpu-z وقتی اجرا شد باید بتونید از یه من کشویی کارت گرافیکا رو انتخاب کنید . یا کارتتون ساخت amd هست یا اینتل .
ضمنا نگفتید با cmake کامپایل کردید یا ویژوال استودیو. و اینکه ایا اخرین ورژن کفی هست یا نه .
یه چک کنید از ورژن های از پیش کامپایل شده که در سایت گذاشتم استفاده کنید و تست بگیرید خبرش رو بدید. (ورژن های cpu only نیازی به کودا ندارن .)
بله از منو کارت گرافیکم را انتخاب کردم و دیدم تیک کودا نخورده. ایا به این معناست که کلا پشتیبانی نمیشه؟
با ویژوال استودیو کامپایل کردم. و اخرین ورژن کفی هم هست..
مچکرم از راهنمایی شما
اگه کارتتون gt525 باشه که از کودا پشتیبانی میکنه.
شما از ویژوال استودیو دیگه استفاده نکنید و از cmake برای کامپایل استفاده کنید. ویژوال استودیو از کودا 8 هم پشتیبانی نمیکنه . کودا 8 رو نصب کنید و با cmake کامپایل کنید اطلاع بدید. اما اگه صرفا دوست دارید با طcpu only کار کنید. ورژن از پیش کامپایل شده اونو دانلود و استفاده کنید.
با سلام و احترام.
 من یه ورژن کفی caffe_win-master که قدیم ها دانلود کرده بودم ولی بیلد نکرده بودم رو سعی کردم با همین کودای 7.5 خودم و با ویژوال استودیو 2013 بیلد کنم. فایل CommonSettings را مطابق کودای خودم و بدون استفاده از CUDNN ست کردم و با استفاده از release 64 به صورت موفقیت آمیز بیلد شد و خط پایین نتیجه بیلد پروژه ها هستش که از 17 نمونه ، همه 17 تا رو درست بیلد کرد:
Build: 17 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
این مساله نشون میده که کودای من واقعا درست نصب شده و کفی هم مشکلی باش نداره و به خوبی کامپایل می شه درسته؟
اما وقتی سعی میکنم مثال mnist رو اجرا کنم باز فیل میشه و همون ارور سابق رو میده.
شبکه lenet روی دیتاست خودم هم به همین ارور ران تایم بر میخوره و پس از ایجاد لایه fail  میشه.
من فکر نمیکنم مشکل از درست کامپایل نشدن کفی یا نشناختن کودا باشه. ایا مسائل دیگری وجود داره که منجر به این ارور بشه؟
سپاس
احتمال این هست که درایور شما یه ایرادی داشته باشه . 1. اول سعی کنید درایوری که همراه خود کودا نصب میشه رو نصب کنید (قبلش درایور رو حذف کنید (از اکسپرس استفاده نکنید) .
ببینید اکی میشه یا نه . خبرش رو بدید
پیرو صحبت شما به درایور گرافیک لپ تاب سر زدم و مطابق اونچه که مشکل کاربران را حل کرده و اون هم حذف کردن و دوباره نصب کردن درایور و یا کودا بود، سعی کردم درایور را یک بار حذف و مجددا نصب کنم. پس از نصب کامل و اجرای شبکه mnist پیغام دیگری ظاهر شد و دوباره fail شد.:
 CUDA driver version is insufficient for CUDA runtime version
*** Check failure stack trace: ***
راهنمایی شما درست بود و مشخص شد که کودای  روی درایور با کودای 7.5 سازگار نیست .
شما فرمودید درایوری که همراه خود کودا نصب میشه رو نصب کنم. متوجه نشدم یعنی چی. فایل اجرایی این درایور که شما می فرمایید کجا قرار گرفته. در سایت مربوط به ورژن 7.5؟  میشه راهنمایی بفرمایید
من متوجه نشدم شما درایور لپ تاپ رو دوباره نصب کردید یا درایور جدید رو دانلود و نصب کردید؟ یا اینکه درایور رو حذف کردیدو از پکیج خود کودا درایور رو نصب کردید؟
درایور لپ تاب را دوباره نصب کردم. یعنی همون قبلی که روی سیستمم نصب بود را حذف کردم  . و دوباره همان را نصب کردم که این پیغام امد
لطفا درایور لپ تاپ رو حذف کنید کامل . همینطور کودا تولکیت رو . و دوباره کودا تولکیت رو نصب کنید و در حین نصب درایور رو هم تیکش رو بزنید تا نصب بشه.
ممنونم از کمک شما. درایور و کودا  را کاملا حذذف کردم و دوباره کودا را نصب کردم. منتهی کودای 8 در دسترسم بود. در حین نصبش تیک نصب درایور را هم زدم و همه قسمت هاش به درستی نصب شدند. بعد کفی را با همین کودای 8 و با ویژوال 2013 بیلد کردم  و با موفقیت و بدون ارور بیلد شد. اما بازم هنگام اجرای مثال ها و ترین شبکه با دیتاست خودم به ارور قبلی برمی خورم. واقعا عجیبه
 no CUDA-capable device is detected
*** Check failure stack trace: ***

2 پاسخ

+2 امتیاز
 
بهترین پاسخ

سلام
طبق صحبتهایی که در بخش نظرات انجام شد بنظر میاد مشکل از درایور شما باشه که بنا به دلایلی بخوبی کار نمیکنه. احتمالا یا بخوبی حذف نشده که نصب های بعدی هم با مشکل مواجه میکنه یا اینکه ویندوز یه مشکلی اینجا ایجاد کرده .
برای اینکه اطمینان حاصل بشه این قضیه از درایور هست این قدم ها رو بردارید :
1.وارد مسیر زیر بشید و زیر شاخه 1_Utilities رو درداخل سلوشن کامپایل و بیلد کنید (بصورت release کامپایل و بیلد کنید.)

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0

1.فایل اجرایی deviceQuery که که تازه بیلدش کردید اجرا کنید . این فایل الان در پوشه bin\win64\Release قرار داره .
(مسیر پوشه مثل این باید باشه البته اگه بصورت دیفالت نصب کرده باشید):

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release

خروجی شما باید چیزی مثل این باشه :
تصویر
enter image description here

حالا برنامه bandwidthTest رو اجرا کنید تا ببنیم ویندوز میتونه با کارت ارتباط برقرار کنه یا خیر.
خروجی شما هم باید شبیه چیزی مثل این باشه :
تصویر :
enter image description here
نکته مهم اینجا بخش Device 0 هست که باید کارت شما شناسایی شده باشه . اینجا کارت من 980GTX هست که توسط سیستم شناسایی شده و براحتی باهاش ارتباط برقرار کرده و اطلاعات پهنای باند رو گزارش کرده

اگر اینها با موفقیت انجام نشن مشخص میشه گیر شما از درایور و ویندوز هست.

توسط (4.3k امتیاز)
انتخاب شده توسط
ممنونم از شما. ولی وقتی که deviceQuery را پس از بیلد کردنش اجرا میکنم میگه هیچ کودایی پیدا نشد. همونطور که در عکس اول برای شما میگه که یک کودا پیدا شد. اما برای من هیچی پیدا نمیکنه و میگه :
no cuda capable device is detected
result= fail
خب انتظار دیگه ای هم نداشتیم. بالا گفتم خطا در هرکدوم اینا نشونه مشکل دار بودن درایور/ویندوز شماست .
باید اطمینان حاصل کنین که درایور و همه محتویات کودا رو حذف میکنید از سیستم .
+1 امتیاز

کودا درست نصب شده است؟
از آخرین ورژن کودا استفاده کنید و همچنین اگر یک کارت گرافیک دارین می تونین با یک دستوردر کامندلاین اون رو به عدد صفر که نشان دهنده یک کارت گرافیک پیش فرض هستش فیکس کنید. دستورش یادم نیست ولی سرچ گوگل کنین هستش


من ندیدم که شما نوشتین که فقط سی پی یو دارین.

راستش ترین کردن با سی پی یو واقعا کار عقلانی نیست چون خیلی خیلی کنده. یک کاری رو که سی پی یو دو ماه باید کار کنه یک کارت گرافیک می تونه نیم ساعته انجام بده. در ضمن وقتی فقط سی پی یو دارین دیگه کودا نصب کردن دلیلی نداره

توسط (143 امتیاز)
کارت گرافیک من gt525  هست و قابلیت اون 2.1 هست بنابراین نمیتونم از کتابخانه cudnn استفاده کنم و با کارت گرافیک اجراش کنم.
موقع نصب کودا هیچ اروری وجود نداشت و همه چیز عادی پیش رفت. بعدشم در فایل پیکربندی caffe وارد کردم و کامپایل کردم و همه چیز اوکی بود. البته قبلا سعی کردم از اخرین ورژن کودا استفاده کنم و 8 رو نصب کردم . ولی دیدم کفه با اون کامپایل نمیشه. عوضش کردم و 7.5 را نصب کردم. همه چیز نرمال اجرا شد. نمیدونم چرا الان نمی شناستش. برام جالبه!
البته اون طور که سرچ کردم میگفتن کسایی که از cudnn نمیتونن استفاده کنن هزار و یک باگ دریافت میکنن و به مشکلاتی بر میخورن که عجیب و غریبه
راستش کارت اتون فکر کنم از اونهاست که دو گیگ رم دارن درسته؟ راستش من خودم از 1060 استفاده می کنم که معماری پاسکال داره و آخرین ورژنها روش کار می کنن ولی شرایط شما یکم فرق داره. شاید با آخرین ورژن ها همخوانی نداشته باشه. من خودم کفه رو با کودا هشت خیلی وقته دارم اجرا میکنم، مشکلی نیست.
چی بگم. ببینید اون متغیرهای محلی رو درست آدرس دهی می کنید یا نه.
...