      def marshal(cls, input_data):
          return pickle.dumps(input_data)
  
      @classmethod
      def unmarshal(cls, input_bytes):
          return pickle.loads(input_bytes)
  
  
  def get_serializer(serializer):
      if serializer == "json":
 
</s> remove     elif serializer == "pickle":
 </s> add     if serializer == "pickle":
    def unmarshal(cls, input_bytes):  # pylint: disable=arguments-differ
      def marshal(cls, input_data):
          return pickle.dumps(input_data)
  
      @classmethod
    def unmarshal(cls, input_bytes):  # pylint: disable=arguments-differ
          return pickle.loads(input_bytes)
  
  
  def get_serializer(serializer):
      if serializer == "json":
keep keep keep keep replace keep keep keep keep keep
 Logging (#541)

* Convert prints to logger. Further logging improvements. Tidy  up

* Fix system verbosity. Allow SystemExit

* Fix reload extract bug

* Child Traceback handling

* Safer shutdown procedure

* Add shutdown event to queue manager

* landmarks_as_xy > property. GUI notes + linting. Aligner bugfix

* fix FaceFilter. Enable nFilter when no Filter is supplied

* Fix blurry face filter

* Continue on IO error. Better error handling

* Explicitly print stack trace tocrash log

* Windows Multiprocessing bugfix

* Add git info and conda version to crash log

* Windows/Anaconda mp bugfix

* Logging fixes for training 
lib/Serializer.py