tensorflow_compact_bilinear_pooling icon indicating copy to clipboard operation
tensorflow_compact_bilinear_pooling copied to clipboard

Cuda 7.0 support

Open hoavt-54 opened this issue 7 years ago • 3 comments

Hi,

Thank you so much for sharing the code. I am having a problem with the sequential FFT and IFFT as my CUDA is 7.0. I cannot update the CUDA since the server is from my uni.

Could you please give me some hints or suggestions how could I implement it in CUDA 7.0?

Bellow are error log when I was trying to build with cuda 7.0:

/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h: In member function ‘void google::protobuf::internal::MapField<Key, T, key_wire_type, value_wire_type, default_enum_value>::Swap(google::protobuf::internal::MapField<Key, T, key_wire_type, value_wire_type, default_enum_value>::MapFieldLiteType*)’:
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:342:13: error: ‘repeated_field_’ was not declared in this scope
   std::swap(MapFieldBase::repeated_field_, down_other->repeated_field_);
             ^
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:344:13: error: ‘state_’ was not declared in this scope
   std::swap(MapFieldBase::state_, down_other->state_);
             ^
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h: In member function ‘void google::protobuf::internal::MapField<Key, T, key_wire_type, value_wire_type, default_enum_value>::SetEntryDescriptor(const google::protobuf::Descriptor**)’:
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:355:2: error: ‘entry_descriptor_’ was not declared in this scope
   MapFieldBase::entry_descriptor_ = descriptor;
  ^
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h: In member function ‘void google::protobuf::internal::MapField<Key, T, key_wire_type, value_wire_type, default_enum_value>::SetAssignDescriptorCallback(void (*)())’:
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:365:2: error: ‘assign_descriptor_callback_’ was not declared in this scope
   MapFieldBase::assign_descriptor_callback_ = callback;
  ^
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h: In member function ‘void google::protobuf::internal::MapField<Key, T, key_wire_type, value_wire_type, default_enum_value>::SyncRepeatedFieldWithMapNoLock() const’:
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:395:6: error: ‘repeated_field_’ was not declared in this scope
   if (MapFieldBase::repeated_field_ == NULL) {
      ^
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:396:6: error: ‘arena_’ was not declared in this scope
     if (MapFieldBase::arena_ == NULL) {
      ^
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:405:220: error: ‘repeated_field_’ was not declared in this scope
   RepeatedPtrField<EntryType>* repeated_field =
                                                                                                                                                                                                                            ^
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:415:72: error: ‘arena_’ was not declared in this scope
     EntryType* new_entry =
                                                                        ^
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h: In member function ‘void google::protobuf::internal::MapField<Key, T, key_wire_type, value_wire_type, default_enum_value>::SyncMapWithRepeatedFieldNoLock() const’:
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:431:220: error: ‘repeated_field_’ was not declared in this scope
   RepeatedPtrField<EntryType>* repeated_field =
                                                                                                                                                                                                                            ^
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h: In member function ‘int google::protobuf::internal::MapField<Key, T, key_wire_type, value_wire_type, default_enum_value>::SpaceUsedExcludingSelfNoLock() const’:
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:455:6: error: ‘repeated_field_’ was not declared in this scope
   if (MapFieldBase::repeated_field_ != NULL) {
      ^
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h: In member function ‘void google::protobuf::internal::MapField<Key, T, key_wire_type, value_wire_type, default_enum_value>::InitDefaultEntryOnce() const’:
/users/ud2017/hoavt/hoa_env/wrath-virt/local/lib/python2.7/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:478:9: error: ‘entry_descriptor_’ was not declared in this scope
     GOOGLE_CHECK(*MapFieldBase::entry_descriptor_ != NULL);

hoavt-54 avatar Jun 07 '17 13:06 hoavt-54

I updated previous comment with error logs when I built with cuda 7.0

hoavt-54 avatar Jun 07 '17 16:06 hoavt-54

Dear friend: Thank you for your work,I tried to call this function to reproduce the paper, but the loss (cost function) has been very large during the training, and there is no tendency to decrease. It may be due to divergence. Can you help me see what is wrong? self.cbp = compact_bilinear_pooling_layer(self.conv5_3, self.conv5_2, 16000, sum_pool=True) In the implementation process, I use Vgg 16 conv5_2, conv5_3 as the input of bottom1 and bottom2, and then pass the obtained self.cbp directly to the full-connect layer softmax classifier. But the loss of the training set and the validation set has been very large and can't converge. Can you tell me if there are some missing steps in the function process? I use random gradient descent to optimize the final prediction value and the cross entropy of the label. The batchsize is 32.

JUSTDODoDo avatar Dec 06 '18 08:12 JUSTDODoDo

can you help me?

JUSTDODoDo avatar Dec 06 '18 08:12 JUSTDODoDo