Giter Site home page Giter Site logo

caffe_ocr_for_linux's People

Contributors

kasyoukin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

caffe_ocr_for_linux's Issues

develop warp-ctc

你好,develop warp-ctc安装报错:
image
你用的这个 develop warp-ctc能编译通过?有没有用GPU啊?
方便的话,加个联系方式,讨教一下,我邮箱:[email protected]

ctcpp.h

感谢分享,我在安装完warp-ctc之后发现/usr/local/include/下有ctc.h,但源码中并没有发现ctcpp.h,请问ctcpp.h在哪里呢?

undefined reference to `compute_ctc_loss'

您好,我进行编译的时候出现了如下错误:
build_release/lib/libcaffe.so: undefined reference to ctcStatus_t CTC::get_workspace_size<float>(int const*, int const*, int, int, ctcOptions, unsigned long*)' .build_release/lib/libcaffe.so: undefined reference to compute_ctc_loss'
.build_release/lib/libcaffe.so: undefined reference to ctcStatus_t CTC::compute_ctc_loss<double>(double const*, double*, int const*, int const*, int const*, int, int, double*, void*, ctcOptions)' .build_release/lib/libcaffe.so: undefined reference to ctcStatus_t CTC::get_workspace_size(int const*, int const*, int, int, ctcOptions, unsigned long*)'
.build_release/lib/libcaffe.so: undefined reference to `ctcGetStatusString'
collect2: error: ld returned 1 exit status
这个是否由于我的warp-ctc没有装好?我将warp-ctc编译完之后,除了修改makefile.config的路径之外,还有将ctcpp.h以及libwarpctc.so拷贝到/usr/lib下,是否还有其他遗漏步骤?
万分感谢!

关于训练出现ctcloss=0怎么解决

I0926 10:52:45.730175 5561 solver.cpp:237] Train net output #0: ctcloss = 0 (* 1 = 0 loss)
I0926 10:52:45.730180 5561 sgd_solver.cpp:105] Iteration 3000, lr = 0.01
I0926 10:52:47.260527 5572 data_layer.cpp:78] Restarting data prefetching from start.
^CI0926 10:52:47.829211 5561 solver.cpp:447] Snapshotting to binary proto file densenet-res-blstm_train-val_iter_3104.caffemodel

编译错误

你好,编译必须要用到opencv吗,报以下错误

AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: cannot find -lopencv_imgcodecs
collect2: error: ld returned 1 exit status
Makefile:581: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1

Makefile:601: recipe for target '.build_release/cuda/src/caffe/layers/DenseBlock_layer.o' failed

I ran into the following error:

NVCC src/caffe/layers/cudnn_sigmoid_layer.cu
/usr/local/include/boost/core/noncopyable.hpp(42): error: defaulted default constructor cannot be constexpr because the corresponding implicitly declared default constructor would not be constexpr

1 error detected in the compilation of "/tmp/tmpxft_00006a5e_00000000-11_DenseBlock_layer.compute_61.cpp1.ii".
Makefile:601: recipe for target '.build_release/cuda/src/caffe/layers/DenseBlock_layer.o' failed
make: *** [.build_release/cuda/src/caffe/layers/DenseBlock_layer.o] Error 1
make: *** Waiting for unfinished jobs....

what should I do?
Thanks.

只能识别一个汉字

这是因为虽然做了格式转换ANTI to UTF8 但是没有做dos2unix label.txt,导致机器不能识别label中的换行,所以只能读取一个字符
如果在docker 下不能运行dos2unix命令,可以切换出去执行完dos2unxi命令之后再切换回去
最后执行的效果是
[1/1]/ai/zhaoliang/7_caffe_ocr_for_linux/caffe_ocr_for_linux/datatest/20438234_4066860539.jpg[cost:18.098 ms]: 宛转万态,总的来说,

cuDNN卷积模式修改导致问题

你好!

我是NVIDIA软件研发部的Nic,我开始时候用你的代码训练CRNN模型没有问题。
后来将denseblocklayer.cu第382行的卷积模式改成了cross-corralation,重新训练了模型后识别效果很差。
不知道为什么。。
请问你原来为什么不用cross-corralation模式?Caffe默认只支持cross-corralation模式。
Thanks.

/convert_mnist_siamese_data.cpp:96:24: error

examples/siamese/convert_mnist_siamese_data.cpp:96:24: error: no matching function for call to ‘caffe::Datum::set_label(int)’
datum.set_label(1);
^
In file included from examples/siamese/convert_mnist_siamese_data.cpp:15:0:
.build_release/src/caffe/proto/caffe.pb.h:11901:13: note: candidate: void caffe::Datum::set_label(int, google::protobuf::int32)
inline void Datum::set_label(int index, ::google::protobuf::int32 value) {
^
.build_release/src/caffe/proto/caffe.pb.h:11901:13: note: candidate expects 2 arguments, 1 provided
examples/siamese/convert_mnist_siamese_data.cpp:98:24: error: no matching function for call to ‘caffe::Datum::set_label(int)’
datum.set_label(0);
^
In file included from examples/siamese/convert_mnist_siamese_data.cpp:15:0:
.build_release/src/caffe/proto/caffe.pb.h:11901:13: note: candidate: void caffe::Datum::set_label(int, google::protobuf::int32)
inline void Datum::set_label(int index, ::google::protobuf::int32 value) {
^
.build_release/src/caffe/proto/caffe.pb.h:11901:13: note: candidate expects 2 arguments, 1 provided
Makefile:588: recipe for target '.build_release/examples/siamese/convert_mnist_siamese_data.o' failed
make: *** [.build_release/examples/siamese/convert_mnist_siamese_data.o] Error 1
大家有没有遇到这个问题,谢谢

▒▒/1]/home/zhangtao/work/caffe_ocr_for_linux/data/img/20438234_4066860539.jpg[cost:20.3835 ms]: ▒▒

我用inception-bn-res-blstm chi 测试出来是这
转码报错
zhangtao@BoHong:/work/caffe_ocr_for_linux/models/inception-bn-res-blstm$ iconv -f GBK -t UTF-8 label.txt > mylabel.txt
iconv: illegal input sequence at position 16333
zhangtao@BoHong:
/work/caffe_ocr_for_linux/models/inception-bn-res-blstm$ iconv -f ANSI -t UTF-8 label.txt > mylabel.txt
iconv: conversion from ANSI' is not supported Try iconv --help' or `iconv --usage' for more information.

ocr_test.cpp编译问题

感谢分享!

在编译caffe的过程中遇到这个问题

ctc.h和ctcpp.h在 /usr/local/include路径中

Makefile.config

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

编译错误信息

ocr_test.cpp:(.text+0x265):对‘ctcStatus_t CTC::get_workspace_size<float>(int const*, int const*, int, int, ctcOptions, unsigned long*)’未定义的引用
ocr_test.cpp:(.text+0x44f):对‘ctcStatus_t CTC::compute_ctc_loss<float>(float const*, float*, int const*, int const*, int const*, int, int, float*, void*, ctcOptions)’未定义的引用

不知道哪里错了,寻求一下您的帮助,谢谢.

选择哪块显卡运行ocr_test

我在进行ocr_test测试时,使用第0块显卡;现在我想通过命令行参数传递使用哪块选卡,于是做了如下修改
bool Classifier::Init(const string& model_path, int gpu_id)
{
const string trained_file = model_path + "/model.caffemodel";
const string model_file = model_path + "/deploy.prototxt";
string mean_file = model_path + "/mean.binaryproto";
const string mean_value_file = model_path + "/mean_values.txt";
const string label_file = model_path + "/label.txt";

if (!CheckFileExist(mean_file.c_str()))
	mean_file = mean_value_file;
if (-1 == gpu_id)
{
    LOG(INFO) << "Use CPU.";
    Caffe::set_mode(Caffe::CPU);
}
else
{
    LOG(INFO) << "Use GPU with device ID " << gpu_id;
    cudaDeviceProp device_prop;
    cudaGetDeviceProperties(&device_prop, gpu_id);
    LOG(INFO) << "GPU device name: " << device_prop.name;
	Caffe::SetDevice(gpu_id);
    Caffe::set_mode(Caffe::GPU);
}

重新编译运行时,选择第3块显卡,结果第0块和第三块显卡一起在跑,请问什么原因啊
但是我跑这种./build/tools/caffe test却是正常的

乱码

??/6]/home/whsyst/caffe_ocr_for_linux/models/ocr/dataset/20436765_2556130357.jpg[cost:82.9587 ms]: 3
??/6]/home/whsyst/caffe_ocr_for_linux/models/ocr/dataset/20436328_800384098.jpg[cost:4.41216 ms]: ?
???/6]/home/whsyst/caffe_ocr_for_linux/models/ocr/dataset/20440484_2127180630.jpg[cost:4.37731 ms]: ?
??/6]/home/whsyst/caffe_ocr_for_linux/models/ocr/dataset/20437703_937698549.jpg[cost:4.3505 ms]: ?
???/6]/home/whsyst/caffe_ocr_for_linux/models/ocr/dataset/20438234_4066860539.jpg[cost:4.32771 ms]: ?
??/6]/home/whsyst/caffe_ocr_for_linux/models/ocr/dataset/20436312_1683447152.jpg[cost:4.33046 ms]: ?

编译错误

你好,我在安装好warp-ctc后,编译时出现如下错误,想请教一下是ctc在与cuda的联结上有什么问题吗?
qq 20180119161107

LMDB支持

Makefile.config中,打开USE_LMDB后编译就会报错。

Test Net output 输出的有两个acc,分别指的是什么?

就像这样

I0322 17:23:39.161901 17215 solver.cpp:330] Iteration 2500, Testing net (#0)
I0322 17:24:01.905066 17215 solver.cpp:397]     Test net output #0: acc = 0.773306
I0322 17:24:01.905092 17215 solver.cpp:397]     Test net output #1: acc = 0.0848667

DenseBlock编译错误

In file included from src/caffe/layers/DenseBlock_layer.cpp:19:0:
./include/caffe/layers/DenseBlock_layer.hpp:147:3: error: ‘cudnnTensorDescriptor_t’ does not name a type
cudnnTensorDescriptor_t * quadG_tensorDesc;
^
./include/caffe/layers/DenseBlock_layer.hpp:148:3: error: ‘cudnnTensorDescriptor_t’ does not name a type
cudnnTensorDescriptor_t * quadG_paramDesc;
^
./include/caffe/layers/DenseBlock_layer.hpp:149:3: error: ‘cudnnConvolutionDescriptor_t’ does not name a type
cudnnConvolutionDescriptor_t* convBC_Descriptor;
^
./include/caffe/layers/DenseBlock_layer.hpp:154:11: error: ‘cudnnFilterDescriptor_t’ was not declared in this scope
vector<cudnnFilterDescriptor_t *> BC_filterDescriptorVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:154:36: error: template argument 1 is invalid
vector<cudnnFilterDescriptor_t *> BC_filterDescriptorVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:154:36: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:156:10: error: ‘cudnnConvolutionFwdAlgo_t’ was not declared in this scope
vector<cudnnConvolutionFwdAlgo_t *> conv_FwdAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:156:37: error: template argument 1 is invalid
vector<cudnnConvolutionFwdAlgo_t *> conv_FwdAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:156:37: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:157:10: error: ‘cudnnConvolutionFwdAlgo_t’ was not declared in this scope
vector<cudnnConvolutionFwdAlgo_t *> BC_FwdAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:157:37: error: template argument 1 is invalid
vector<cudnnConvolutionFwdAlgo_t *> BC_FwdAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:157:37: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:158:10: error: ‘cudnnConvolutionBwdFilterAlgo_t’ was not declared in this scope
vector<cudnnConvolutionBwdFilterAlgo_t *> conv_BwdFilterAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:158:43: error: template argument 1 is invalid
vector<cudnnConvolutionBwdFilterAlgo_t *> conv_BwdFilterAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:158:43: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:159:10: error: ‘cudnnConvolutionBwdFilterAlgo_t’ was not declared in this scope
vector<cudnnConvolutionBwdFilterAlgo_t *> BC_BwdFilterAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:159:43: error: template argument 1 is invalid
vector<cudnnConvolutionBwdFilterAlgo_t *> BC_BwdFilterAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:159:43: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:160:10: error: ‘cudnnConvolutionBwdDataAlgo_t’ was not declared in this scope
vector<cudnnConvolutionBwdDataAlgo_t *> conv_BwdDataAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:160:41: error: template argument 1 is invalid
vector<cudnnConvolutionBwdDataAlgo_t > conv_BwdDataAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:160:41: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:161:10: error: ‘cudnnConvolutionBwdDataAlgo_t’ was not declared in this scope
vector<cudnnConvolutionBwdDataAlgo_t > BC_BwdDataAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:161:41: error: template argument 1 is invalid
vector<cudnnConvolutionBwdDataAlgo_t > BC_BwdDataAlgoVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:161:41: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:172:3: error: ‘cudnnHandle_t’ does not name a type
cudnnHandle_t
cudnnHandlePtr;
^
./include/caffe/layers/DenseBlock_layer.hpp:174:10: error: ‘cudnnHandle_t’ was not declared in this scope
vector<cudnnHandle_t
> extraHandles;
^
./include/caffe/layers/DenseBlock_layer.hpp:174:24: error: template argument 1 is invalid
vector<cudnnHandle_t
> extraHandles;
^
./include/caffe/layers/DenseBlock_layer.hpp:174:24: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:177:10: error: ‘cudnnTensorDescriptor_t’ was not declared in this scope
vector<cudnnTensorDescriptor_t *> tensorDescriptorVec_conv_x;//local Conv X
^
./include/caffe/layers/DenseBlock_layer.hpp:177:35: error: template argument 1 is invalid
vector<cudnnTensorDescriptor_t *> tensorDescriptorVec_conv_x;//local Conv X
^
./include/caffe/layers/DenseBlock_layer.hpp:177:35: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:178:3: error: ‘cudnnTensorDescriptor_t’ does not name a type
cudnnTensorDescriptor_t * tensorDescriptor_conv_y;//local Conv Y
^
./include/caffe/layers/DenseBlock_layer.hpp:179:10: error: ‘cudnnTensorDescriptor_t’ was not declared in this scope
vector<cudnnTensorDescriptor_t *> tensorDescriptor_BN;//
^
./include/caffe/layers/DenseBlock_layer.hpp:179:35: error: template argument 1 is invalid
vector<cudnnTensorDescriptor_t *> tensorDescriptor_BN;//
^
./include/caffe/layers/DenseBlock_layer.hpp:179:35: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:181:10: error: ‘cudnnDropoutDescriptor_t’ was not declared in this scope
vector<cudnnDropoutDescriptor_t *> dropoutDescriptorVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:181:36: error: template argument 1 is invalid
vector<cudnnDropoutDescriptor_t *> dropoutDescriptorVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:181:36: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:183:10: error: ‘cudnnFilterDescriptor_t’ was not declared in this scope
vector<cudnnFilterDescriptor_t > filterDescriptorVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:183:35: error: template argument 1 is invalid
vector<cudnnFilterDescriptor_t > filterDescriptorVec;
^
./include/caffe/layers/DenseBlock_layer.hpp:183:35: error: template argument 2 is invalid
./include/caffe/layers/DenseBlock_layer.hpp:185:3: error: ‘cudnnActivationDescriptor_t’ does not name a type
cudnnActivationDescriptor_t
ReLUDesc;
^
./include/caffe/layers/DenseBlock_layer.hpp:187:3: error: ‘cudnnConvolutionDescriptor_t’ does not name a type
cudnnConvolutionDescriptor_t
conv_Descriptor;
^
Makefile:588: recipe for target '.build_release/src/caffe/layers/DenseBlock_layer.o' failed
make: *** [.build_release/src/caffe/layers/DenseBlock_layer.o] Error 1
make: *** Waiting for unfinished jobs....

你好,make之后出现这个错误,不知道如何修改

编译报错

### /usr/local/include/boost/system/error_code.hpp:233:21: error: looser throw specifier for ‘virtual const char boost::system::error_category::std_category::name() const’
virtual const char * name() const BOOST_NOEXCEPT
^
/usr/include/c++/5/system_error:77:21: error: overriding ‘virtual const char
std::_V2::error_category::name() const noexcept’
name() const noexcept = 0;
^
/usr/local/include/boost/system/error_code.hpp:243:37: error: looser throw specifier for ‘virtual std::error_condition boost::system::error_category::std_category::default_error_condition(int) const’
virtual std::error_condition default_error_condition( int ev ) const
^
/usr/include/c++/5/system_error:104:25: error: overriding ‘virtual std::error_condition std::_V2::error_category::default_error_condition(int) const noexcept’
default_error_condition(int __i) const noexcept;
^
/usr/local/include/boost/system/error_code.hpp:245:21: error: looser throw specifier for ‘virtual bool boost::system::error_category::std_category::equivalent(int, const std::error_condition&) const’
virtual bool equivalent( int code, const std::error_condition & condition ) const
^
/usr/include/c++/5/system_error:107:14: error: overriding ‘virtual bool std::_V2::error_category::equivalent(int, const std::error_condition&) const noexcept’
equivalent(int __i, const error_condition& __cond) const noexcept;
^
/usr/local/include/boost/system/error_code.hpp:247:21: error: looser throw specifier for ‘virtual bool boost::system::error_category::std_category::equivalent(const std::error_code&, int) const’
virtual bool equivalent( const std::error_code & code, int condition ) const
^
/usr/include/c++/5/system_error:110:14: error: overriding ‘virtual bool std::_V2::error_category::equivalent(const std::error_code&, int) const noexcept’
equivalent(const error_code& __code, int __i) const noexcept;
^
Makefile:601: recipe for target '.build_release/cuda/src/caffe/layers/DenseBlock_layer.o' failed
make: *** [.build_release/cuda/src/caffe/layers/DenseBlock_layer.o] Error 1
make: *** Waiting for unfinished jobs....
tools/ocr_test.cpp: In function ‘void FindAllImages(const char*, std::vector<std::__cxx11::basic_string >&, bool)’:
tools/ocr_test.cpp:174:27: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
while (ent = readdir(pDir))
^
tools/ocr_test.cpp: In function ‘float GetCTCLoss(float*, int, int, int, const string&, const std::map<wchar_t, int>&)’:
tools/ocr_test.cpp:221:14: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
ctcStatus_t status = CTC::get_workspace_size(&len,
^
tools/ocr_test.cpp: In function ‘void test_ocr_english(const string&, const string&, const string&)’:
tools/ocr_test.cpp:279:11: warning: unused variable ‘c’ [-Wunused-variable]
wchar_t c = 0;
^
tools/ocr_test.cpp:359:95: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
printf("[%d/%d]%s\n\torig result: %s\n",i+1,imgs.size(),imgs[i].c_str(), strpredict0.c_str());
^
tools/ocr_test.cpp:359:95: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘std::vector<std::__cxx11::basic_string >::size_type {aka long unsigned int}’ [-Wformat=]
tools/ocr_test.cpp:325:6: warning: unused variable ‘nok_lexicon’ [-Wunused-variable]
int nok_lexicon = 0;
^
tools/ocr_test.cpp:326:6: warning: unused variable ‘nok_nolexicon’ [-Wunused-variable]
int nok_nolexicon = 0;
^
tools/ocr_test.cpp: In function ‘void test_ocr_chinese(const string&, const string&)’:
tools/ocr_test.cpp:412:46: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘std::vector<std::__cxx11::basic_string >::size_type {aka long unsigned int}’ [-Wformat=]
printf("labels:%d\n",alphabets.size());
^
tools/ocr_test.cpp:422:11: warning: unused variable ‘c’ [-Wunused-variable]
wchar_t c = 0;
^
tools/ocr_test.cpp:466:118: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
printf("[%d/%d]%s[cost:%g ms]: %s\n", i + 1, imgs.size(), imgs[i].c_str(),timer.MilliSeconds(), strpredict0.c_str());
^
tools/ocr_test.cpp:466:118: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘std::vector<std::__cxx11::basic_string >::size_type {aka long unsigned int}’ [-Wformat=]
tools/ocr_test.cpp:431:6: warning: unused variable ‘nok_lexicon’ [-Wunused-variable]
int nok_lexicon = 0;
^
tools/ocr_test.cpp:432:6: warning: unused variable ‘nok_nolexicon’ [-Wunused-variable]
int nok_nolexicon = 0;
^


请问具体的编译过程是怎样的

从原作者那下载的中文识别的model要怎么用,需要改哪些文件?您的代码下载下来make之后就可以直接运行了吗,不需要加model了吗?

error: cannot convert ‘const double* const’ to ‘const float*’

Could you help on this issue when I execute make command. thx a lot

CXX src/caffe/layers/tanh_layer.cpp
CXX src/caffe/layers/threshold_layer.cpp
CXX src/caffe/layers/tile_layer.cpp
CXX src/caffe/layers/transpose_layer.cpp
CXX src/caffe/layers/warp_ctc_loss_layer.cpp
src/caffe/layers/warp_ctc_loss_layer.cpp: In instantiation of ‘void caffe::WarpCTCLossLayer::Forward_cpu(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = double]’:
src/caffe/layers/warp_ctc_loss_layer.cpp:276:1: required from here
src/caffe/layers/warp_ctc_loss_layer.cpp:158:31: error: cannot convert ‘const double* const’ to ‘const float*’ for argument ‘1’ to ‘ctcStatus_t compute_ctc_loss(const float*, float*, const int*, const int*, const int*, int, int, float*, void*, ctcOptions)’
);

迭代两万多次之后loss就卡在30不降了

你好,我们做身份证识别,用你的代码训过,很正常,但是精度还不够高。于是就又生成了200W张身份证地址的图片加到你的训练样本里面,这样差不多就有500W张,经过一些调参,但是迭代两万次之后loss就一直卡在30左右不下降了,我们的样本和label应该是可以对的上的,没错。但是loss就是不降,请问你有什么建议呢?

有关训练

我现在把环境都编译成功了 也测试得出了结果 但是不清楚具体怎么训练 大神能不能具体给出训练步骤 请大神指导

how to set warpctc?

I1213 20:59:11.824182 27507 layer_factory.hpp:77] Creating layer ctcloss
F1213 20:59:11.824225 27507 layer_factory.hpp:81] Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: WarpCTCLoss (known types: AbsVal, Accuracy, ArgMax, BNLL, BatchNorm, BatchReindex, Bias, CTCGreedyDecoder, Concat, ContrastiveLoss, Convolution, Crop, Data, Deconvolution, DenseBlock, Dropout, DummyData, ELU, Eltwise, Embed, EuclideanLoss, Exp, Filter, Flatten, HDF5Data, HDF5Output, HingeLoss, Im2col, ImageData, InfogainLoss, InnerProduct, Input, Interp, LRN, LSTM, LSTMUnit, Log, Lstm, MVN, MemoryData, MultinomialLogisticLoss, PReLU, Parameter, Pooling, Power, RNN, ReLU, Reduction, Reshape, Reverse, ReverseTime, SPP, Scale, Sigmoid, SigmoidCrossEntropyLoss, Silence, Slice, Softmax, SoftmaxWithLoss, SoftmaxWithLossMultiLabel, Split, TanH, Threshold, Tile, Transpose, WindowData)
*** Check failure stack trace: ***
@ 0x7f4028755daa (unknown)
I have built warpctc at ,and makefile.config also set :

Whatever else you find you need goes here.

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial /home//warp-ctc/build /home/css/warp-ctc/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial /home/
/warp-ctc/build

请教大神,务必回复

我是这样来训练的,首先将训练样本生成对应的标签,然后将标签转化成采用convert_imageset转换成对应lmdb格式的,然后采用densenet-res-blstm_train-val.prototxt开始训练,可是ctcloss=0,刚接触深度学习,不知道如何解决问题

warpctc安装事项。

您好,我在安装warpctc时遇到了问题。master版本中没有ctcpp.h;而develop版中有ctcpp.h,编译时出现如下问题:
ubuntu@ubuntu:~/warp-ctc-develop/build$ make
[ 25%] Building NVCC (Device) object CMakeFiles/warpctc.dir/src/warpctc_generated_reduce.cu.o
[ 50%] Building NVCC (Device) object CMakeFiles/warpctc.dir/src/warpctc_generated_ctcpp_entrypoint.cu.o
/home/ubuntu/warp-ctc-develop/src/ctcpp_entrypoint.cu(1): error: this declaration has no storage class or type specifier

/home/ubuntu/warp-ctc-develop/src/ctcpp_entrypoint.cu(1): error: expected a ";"

2 errors detected in the compilation of "/tmp/tmpxft_0000031b_00000000-19_ctcpp_entrypoint.compute_62.cpp1.ii".
CMake Error at warpctc_generated_ctcpp_entrypoint.cu.o.cmake:266 (message):
Error generating file
/home/ubuntu/warp-ctc-develop/build/CMakeFiles/warpctc.dir/src/./warpctc_generated_ctcpp_entrypoint.cu.o

CMakeFiles/warpctc.dir/build.make:63: recipe for target 'CMakeFiles/warpctc.dir/src/warpctc_generated_ctcpp_entrypoint.cu.o' failed
make[2]: *** [CMakeFiles/warpctc.dir/src/warpctc_generated_ctcpp_entrypoint.cu.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/warpctc.dir/all' failed
make[1]: *** [CMakeFiles/warpctc.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

关于caffe make时的错误

你好,我的环境是 ubuntu14.04 cudn7.5 ,cudnn5.1
protobuf2.6.1
在编译过程中出现如下错误,怎么回事呢?能帮我看看问题吗?
我初次接触caffe,安装过程中解决问题比较没经验,麻烦耐心帮我解答一下,谢谢

ocr_test result is wrong

Hello, my result is
经/6]../../examples/ocr/20436328_800384098.jpg[cost:109 ms]: 姻
洲/6]../../examples/ocr/20437703_937698549.jpg[cost:104 ms]: 业
风/6]../../examples/ocr/20436765_2556130357.jpg[cost:104 ms]: 3
持/6]../../examples/ocr/20440484_2127180630.jpg[cost:104 ms]: ?
人/6]../../examples/ocr/20436312_1683447152.jpg[cost:135 ms]: 美
,/6]../../examples/ocr/20438234_4066860539.jpg[cost:109 ms]: 究
I use CPU_ONLY mode,and resnet-res-blstm\inception-bn-res-blstm are all wrong like this.

多值标签制作lmdb问题

请问你是使用create_annoset.py还是create_dataset.py来制作
20456343_4045240981.jpg 89 201 241 178 19 94 19 22 26 656
这种训练的lmdb?

关于测试脚本

我用来训练7位的英文字母,训练的时候准确率达到99.9%以上,但是我就用训练集进行测试,结果只有不到3%完全正确,测出来的结果是6位甚至5位,是测试脚本的问题么?

Check failed: N_ == label_seq->num() (2048 vs. 64)

我在cpu模式下测试你训练好的模型没问题,但是在训练自己的数据是出现这个问题。
I0313 01:33:51.547402 51709 net.cpp:406] ctcloss <- fc1x5990
I0313 01:33:51.547411 51709 net.cpp:406] ctcloss <- label
I0313 01:33:51.547551 51709 net.cpp:380] ctcloss -> ctcloss
F0313 01:33:51.547602 51709 warp_ctc_loss_layer.cpp:47] Check failed: N_ == label_seq->num() (2048 vs. 64)
我是用的是inception_bn网络,能大概看出是哪里出问题了吗?谢谢

加载train_lmdb时出现问题

您好,在开始训练时,我遇到了这种情况:
‘I0515 15:14:44.180166 8095 caffe.cpp:213] CUDNN version: 7004
I0515 15:14:44.180531 8095 caffe.cpp:229] Using GPUs 1
I0515 15:14:44.193114 8095 caffe.cpp:234] GPU 1: GeForce GTX 1080 Ti
I0515 15:14:44.809454 8095 solver.cpp:44] Initializing solver from parameters:
test_iter: 230
test_interval: 1800
base_lr: 0.0001
display: 10
max_iter: 400000
lr_policy: "multistep"
gamma: 0.5
momentum: 0.9
weight_decay: 0.0001
snapshot: 1000
snapshot_prefix: "./caffemodel/densenet"
solver_mode: GPU
device_id: 1
random_seed: 1234
net: "/home/zkgao/caffe_ocr_for_linux/examples/crnn/models/dense/densenet-res-blstm_train-val.prototxt"
train_state {
level: 0
stage: ""
}
stepvalue: 30000
stepvalue: 60000
stepvalue: 90000
stepvalue: 120000
stepvalue: 150000
stepvalue: 180000
I0515 15:14:44.809936 8095 solver.cpp:87] Creating training net from net file: /home/zkgao/caffe_ocr_for_linux/examples/crnn/models/dense/densenet-res-blstm_train-val.prototxt
I0515 15:14:44.810540 8095 upgrade_proto.cpp:77] Attempting to upgrade batch norm layers using deprecated params: /home/zkgao/caffe_ocr_for_linux/examples/crnn/models/dense/densenet-res-blstm_train-val.prototxt
I0515 15:14:44.810571 8095 upgrade_proto.cpp:80] Successfully upgraded batch norm layers using deprecated params.
I0515 15:14:44.811134 8095 net.cpp:294] The NetState phase (0) differed from the phase (1) specified by a rule in layer data
I0515 15:14:44.811242 8095 net.cpp:294] The NetState phase (0) differed from the phase (1) specified by a rule in layer acc
I0515 15:14:44.811600 8095 net.cpp:51] Initializing net from parameters:
...
...
...
layer {
name: "fc1x"
type: "InnerProduct"
bottom: "blstm_sum"
top: "fc1x"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 5990
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
axis: 2
}
}
layer {
name: "ctcloss"
type: "WarpCTCLoss"
bottom: "fc1x"
bottom: "label"
top: "ctcloss"
loss_weight: 1
}
I0515 15:14:44.814074 8095 layer_factory.hpp:77] Creating layer data
I0515 15:14:44.814433 8095 db_lmdb.cpp:35] Opened lmdb /home/zkgao/caffe_ocr_for_linux/data/crnn/lmdb/train_lmdb
I0515 15:14:44.814546 8095 net.cpp:84] Creating Layer data
I0515 15:14:44.814615 8095 net.cpp:380] data -> data
I0515 15:14:44.814857 8095 net.cpp:380] data -> label
*** Aborted at 1557904484 (unix time) try "date -d @1557904484" if you are using GNU date ***
PC: @ 0x7f155c152168 (unknown)
*** SIGSEGV (@0x15e7df10) received by PID 8095 (TID 0x7f15702667c0) from PID 367517456; stack trace: ***
@ 0x7f155c0394b0 (unknown)
@ 0x7f155c152168 (unknown)
@ 0x7f156e37ab07 std::__cxx11::basic_string<>::_M_construct<>()
@ 0x7f156e37ac05 std::__cxx11::basic_string<>::basic_string()
@ 0x7f156f5c6016 _ZN5caffe2db10LMDBCursor5valueB5cxx11Ev
@ 0x7f156f681fb0 caffe::DataLayer<>::DataLayerSetUp()
@ 0x7f156f752dbd caffe::BaseDataLayer<>::LayerSetUp()
@ 0x7f156f753213 caffe::BasePrefetchingDataLayer<>::LayerSetUp()
@ 0x7f156f5f53ec caffe::Layer<>::SetUp()
@ 0x7f156f63859e caffe::Net<>::Init()
@ 0x7f156f636ff4 caffe::Net<>::Net()
@ 0x7f156f62aa03 caffe::Solver<>::InitTrainNet()
@ 0x7f156f62a225 caffe::Solver<>::Init()
@ 0x7f156f629d45 caffe::Solver<>::Solver()
@ 0x7f156f5e1322 caffe::SGDSolver<>::SGDSolver()
@ 0x7f156f5ed4b1 caffe::Creator_SGDSolver<>()
@ 0x424ac8 caffe::SolverRegistry<>::CreateSolver()
@ 0x41fc26 train()
@ 0x4221c5 main
@ 0x7f155c024830 __libc_start_main
@ 0x41e6c9 _start
@ 0x0 (unknown)

请问这种情况你遇到过吗

不定长标签无法收敛

训练标签长度包含2位3位4位5位6位7位时,网络收敛些不好,acc1的指标一直只有0.6,必须要定长么?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.