tensorflow_compact_bilinear_pooling
tensorflow_compact_bilinear_pooling copied to clipboard
Cuda 7.0 support
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);
I updated previous comment with error logs when I built with cuda 7.0
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.
can you help me?