diff options
author | Inki Dae <inki.dae@samsung.com> | 2018-09-04 11:23:06 +0900 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2018-12-07 13:52:33 +0900 |
commit | 7fd07b42516bc92e334a865f3cdb999c149679f8 (patch) | |
tree | db4214acf85e23686ad27d4e3e5866316d41fdbe | |
parent | b85b8637c52f1c89ab8d4c7e6d9ba2e48d0bd9e8 (diff) | |
download | caffeonacl-tizen_5.5_mobile_hotfix.tar.gz caffeonacl-tizen_5.5_mobile_hotfix.tar.bz2 caffeonacl-tizen_5.5_mobile_hotfix.zip |
Add armcl v18.11 supporttizen_5.5.m2_releasesubmit/tizen_5.5_wearable_hotfix/20201026.184306submit/tizen_5.5_mobile_hotfix/20201026.185106submit/tizen_5.5/20191031.000010submit/tizen/20190109.014104submit/tizen/20190109.005305accepted/tizen/unified/20190109.060119accepted/tizen/5.5/unified/wearable/hotfix/20201027.102807accepted/tizen/5.5/unified/mobile/hotfix/20201027.062716accepted/tizen/5.5/unified/20191031.004335tizen_5.5_wearable_hotfixtizen_5.5_tvtizen_5.5_mobile_hotfixtizen_5.5armcl-v18.11accepted/tizen_5.5_unified_wearable_hotfixaccepted/tizen_5.5_unified_mobile_hotfixaccepted/tizen_5.5_unified
This patch fixes a build error with armcl v18.08 by
correcting a parameter type of configure function of
FullyConnectedLayer.
Change-Id: I1755b1bee083f099ae7cf0095e4fadc60cb1a690
Signed-off-by: Inki Dae <inki.dae@samsung.com>
-rw-r--r-- | include/caffe/acl_operator.hpp | 3 | ||||
-rw-r--r-- | src/caffe/layers/acl_inner_product_layer.cpp | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/include/caffe/acl_operator.hpp b/include/caffe/acl_operator.hpp index 90051054..5759f4dc 100644 --- a/include/caffe/acl_operator.hpp +++ b/include/caffe/acl_operator.hpp @@ -620,11 +620,12 @@ bool instantiate_op_lc(ACLOperator* acl_op,std::vector<std::unique_ptr<arm_compu func.push_back(instantiate_op_func<arm_compute::CLLocallyConnectedLayer,arm_compute::ICLTensor,arm_compute::NELocallyConnectedLayer,arm_compute::ITensor, arm_compute::PadStrideInfo>(input, weights,biases,output,info, hint)); return true; } + template <typename OperatorInfo> bool instantiate_op_fc(ACLOperator* acl_op,std::vector<std::unique_ptr<arm_compute::IFunction>> & func,std::unique_ptr<ACLTensor> & input,std::unique_ptr<ACLTensor> & output,TargetHint hint, const OperatorInfo &info){ std::unique_ptr<ACLTensor> & weights=acl_op->weights(); std::unique_ptr<ACLTensor> & biases=acl_op->biases(); - func.push_back(instantiate_op_func<arm_compute::CLFullyConnectedLayer,arm_compute::ICLTensor,arm_compute::NEFullyConnectedLayer,arm_compute::ITensor, bool>(input, weights,biases,output,info, hint)); + func.push_back(instantiate_op_func<arm_compute::CLFullyConnectedLayer,arm_compute::ICLTensor,arm_compute::NEFullyConnectedLayer,arm_compute::ITensor, arm_compute::FullyConnectedLayerInfo>(input, weights,biases,output,info, hint)); return true; } template <typename Dtype> diff --git a/src/caffe/layers/acl_inner_product_layer.cpp b/src/caffe/layers/acl_inner_product_layer.cpp index bb819fcc..c7cc0723 100644 --- a/src/caffe/layers/acl_inner_product_layer.cpp +++ b/src/caffe/layers/acl_inner_product_layer.cpp @@ -32,12 +32,16 @@ void ACLInnerProductLayer<Dtype>::SetupACLOperator(const vector<Blob<Dtype>*>& b }else{ new_tensor(weights(),weights_shape,GetDataPtr(this,this->blobs_[0].get())); } + + arm_compute::FullyConnectedLayerInfo fc_info = arm_compute::FullyConnectedLayerInfo(); + fc_info.transpose_weights = transpose; + if (this->bias_term_) { new_tensor(biases(),biases_shape,GetDataPtr(this,this->blobs_[1].get())); } new_tensor(input(),input_shape,InputdataPtr(this,bottom)); new_tensor(output(),output_shape,OutputdataPtr(this,top)); - acl_configure(fc,this,transpose); + acl_configure(fc,this,fc_info); } template <typename Dtype> void ACLInnerProductLayer<Dtype>::Reshape(const vector<Blob<Dtype>*>& bottom, |