Search code examples
pythonconv-neural-networkcross-domaintransfer-learning

How to implement maximum mean discrepancy in CNN architecture for domain adaptation?


I want to know with code, How to implement maximum mean discrepancy in CNN architecture for domain adaptation?

I would like to implement domain adaptation for 1D CNN audio files as shown in the link https://machinelearningmastery.com/cnn-models-for-human-activity-recognition-time-series-classification/.

The above link shows only 1D CNN but I need to implement and practice the domain adaptation using only MMD, not through adversarial methods. I could see a lot of examples for every method other than MMD for CNN.


Solution

  • The MMD for CNN was made possible by the adapt package. https://adapt-python.github.io/adapt/index.html

    note: the input from the package ===>

    can be given in this class:

    classadapt.feature_based.fMMD(estimator=None, Xt=None, threshold='auto', kernel='linear', gamma=1.0, degree=2, coef=1.0, copy=True, verbose=1, random_state=None, **params).

    The estimator uses CNN input. the output is MMD implemented results