<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load(filename):
 """Load an object that has been saved with dump. We try to open it using the pickle protocol. As a fallback, we use joblib.load. Joblib was the default prior to msmbuilder v3.2 Parameters filename : string The name of the file to load. """

    try:
        with open(filename, 'rb') as f:
            return pickle.load(f)
    except Exception as e1:
        try:
            return jl_load(filename)
        except Exception as e2:
            raise IOError(
                "Unable to load {} using the pickle or joblib protocol.\n"
                "Pickle: {}\n"
                "Joblib: {}".format(filename, e1, e2)
            )