Emotion-LLaMA icon indicating copy to clipboard operation
Emotion-LLaMA copied to clipboard

运行app.py报错,运行app_EmotionLlamaClient.py没问题,但是demo不像主页上提供的那样,对话式的交流,左半边是系统回复的,右半边是用户输入的。

Open lucky-asia opened this issue 9 months ago • 1 comments

─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮ │ /nfs/swyy/asia/Emotion-LLaMA-main/app.py:635 in │ │ │ │ 632 │ │ │ 633 │ with gr.Row(): │ │ 634 │ │ with gr.Column(): │ │ ❱ 635 │ │ │ gr.Examples(examples=[ │ │ 636 │ │ │ │ ["examples/samplenew_00004251.mp4", "[detection] face", upload_flag, rep │ │ 637 │ │ │ │ ["examples/sample_00000338.mp4", "The person in video says: Oh no, my ph │ │ 638 │ │ │ │ ["examples/sample_00000669.mp4", "The person in video says: Why are you │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/site-packages/gradio/helpers.py:61 in │ │ create_examples │ │ │ │ 58 │ _defer_caching: bool = False, │ │ 59 ): │ │ 60 │ """Top-level synchronous function that creates Examples. Provided for backwards comp │ │ ❱ 61 │ examples_obj = Examples( │ │ 62 │ │ examples=examples, │ │ 63 │ │ inputs=inputs, │ │ 64 │ │ outputs=outputs, │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/site-packages/gradio/helpers.py:261 in │ │ init │ │ │ │ 258 │ │ with utils.set_directory(working_directory): │ │ 259 │ │ │ self.dataset = components.Dataset( │ │ 260 │ │ │ │ components=inputs_with_examples, │ │ ❱ 261 │ │ │ │ samples=copy.deepcopy(non_none_examples), │ │ 262 │ │ │ │ type="tuple", │ │ 263 │ │ │ │ label=label, │ │ 264 │ │ │ │ samples_per_page=examples_per_page, │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:205 in _deepcopy_list │ │ │ │ 202 │ memo[id(x)] = y │ │ 203 │ append = y.append │ │ 204 │ for a in x: │ │ ❱ 205 │ │ append(deepcopy(a, memo)) │ │ 206 │ return y │ │ 207 d[list] = _deepcopy_list │ │ 208 │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:205 in _deepcopy_list │ │ │ │ 202 │ memo[id(x)] = y │ │ 203 │ append = y.append │ │ 204 │ for a in x: │ │ ❱ 205 │ │ append(deepcopy(a, memo)) │ │ 206 │ return y │ │ 207 d[list] = _deepcopy_list │ │ 208 │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:172 in deepcopy │ │ │ │ 169 │ │ │ │ if isinstance(rv, str): │ │ 170 │ │ │ │ │ y = x │ │ 171 │ │ │ │ else: │ │ ❱ 172 │ │ │ │ │ y = _reconstruct(x, memo, *rv) │ │ 173 │ │ │ 174 │ # If is its own copy, don't memoize. │ │ 175 │ if y is not x: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:270 in _reconstruct │ │ │ │ 267 │ │ │ 268 │ if state is not None: │ │ 269 │ │ if deep: │ │ ❱ 270 │ │ │ state = deepcopy(state, memo) │ │ 271 │ │ if hasattr(y, 'setstate'): │ │ 272 │ │ │ y.setstate(state) │ │ 273 │ │ else: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:230 in _deepcopy_dict │ │ │ │ 227 │ y = {} │ │ 228 │ memo[id(x)] = y │ │ 229 │ for key, value in x.items(): │ │ ❱ 230 │ │ y[deepcopy(key, memo)] = deepcopy(value, memo) │ │ 231 │ return y │ │ 232 d[dict] = _deepcopy_dict │ │ 233 if PyStringMap is not None: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:172 in deepcopy │ │ │ │ 169 │ │ │ │ if isinstance(rv, str): │ │ 170 │ │ │ │ │ y = x │ │ 171 │ │ │ │ else: │ │ ❱ 172 │ │ │ │ │ y = _reconstruct(x, memo, *rv) │ │ 173 │ │ │ 174 │ # If is its own copy, don't memoize. │ │ 175 │ if y is not x: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:270 in _reconstruct │ │ │ │ 267 │ │ │ 268 │ if state is not None: │ │ 269 │ │ if deep: │ │ ❱ 270 │ │ │ state = deepcopy(state, memo) │ │ 271 │ │ if hasattr(y, 'setstate'): │ │ 272 │ │ │ y.setstate(state) │ │ 273 │ │ else: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:230 in _deepcopy_dict │ │ │ │ 227 │ y = {} │ │ 228 │ memo[id(x)] = y │ │ 229 │ for key, value in x.items(): │ │ ❱ 230 │ │ y[deepcopy(key, memo)] = deepcopy(value, memo) │ │ 231 │ return y │ │ 232 d[dict] = _deepcopy_dict │ │ 233 if PyStringMap is not None: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:172 in deepcopy │ │ │ │ 169 │ │ │ │ if isinstance(rv, str): │ │ 170 │ │ │ │ │ y = x │ │ 171 │ │ │ │ else: │ │ ❱ 172 │ │ │ │ │ y = _reconstruct(x, memo, *rv) │ │ 173 │ │ │ 174 │ # If is its own copy, don't memoize. │ │ 175 │ if y is not x: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:270 in _reconstruct │ │ │ │ 267 │ │ │ 268 │ if state is not None: │ │ 269 │ │ if deep: │ │ ❱ 270 │ │ │ state = deepcopy(state, memo) │ │ 271 │ │ if hasattr(y, 'setstate'): │ │ 272 │ │ │ y.setstate(state) │ │ 273 │ │ else: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:230 in _deepcopy_dict │ │ │ │ 227 │ y = {} │ │ 228 │ memo[id(x)] = y │ │ 229 │ for key, value in x.items(): │ │ ❱ 230 │ │ y[deepcopy(key, memo)] = deepcopy(value, memo) │ │ 231 │ return y │ │ 232 d[dict] = _deepcopy_dict │ │ 233 if PyStringMap is not None: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:172 in deepcopy │ │ │ │ 169 │ │ │ │ if isinstance(rv, str): │ │ 170 │ │ │ │ │ y = x │ │ 171 │ │ │ │ else: │ │ ❱ 172 │ │ │ │ │ y = _reconstruct(x, memo, *rv) │ │ 173 │ │ │ 174 │ # If is its own copy, don't memoize. │ │ 175 │ if y is not x: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:270 in _reconstruct │ │ │ │ 267 │ │ │ 268 │ if state is not None: │ │ 269 │ │ if deep: │ │ ❱ 270 │ │ │ state = deepcopy(state, memo) │ │ 271 │ │ if hasattr(y, 'setstate'): │ │ 272 │ │ │ y.setstate(state) │ │ 273 │ │ else: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:230 in _deepcopy_dict │ │ │ │ 227 │ y = {} │ │ 228 │ memo[id(x)] = y │ │ 229 │ for key, value in x.items(): │ │ ❱ 230 │ │ y[deepcopy(key, memo)] = deepcopy(value, memo) │ │ 231 │ return y │ │ 232 d[dict] = _deepcopy_dict │ │ 233 if PyStringMap is not None: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:172 in deepcopy │ │ │ │ 169 │ │ │ │ if isinstance(rv, str): │ │ 170 │ │ │ │ │ y = x │ │ 171 │ │ │ │ else: │ │ ❱ 172 │ │ │ │ │ y = _reconstruct(x, memo, *rv) │ │ 173 │ │ │ 174 │ # If is its own copy, don't memoize. │ │ 175 │ if y is not x: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:270 in _reconstruct │ │ │ │ 267 │ │ │ 268 │ if state is not None: │ │ 269 │ │ if deep: │ │ ❱ 270 │ │ │ state = deepcopy(state, memo) │ │ 271 │ │ if hasattr(y, 'setstate'): │ │ 272 │ │ │ y.setstate(state) │ │ 273 │ │ else: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:230 in _deepcopy_dict │ │ │ │ 227 │ y = {} │ │ 228 │ memo[id(x)] = y │ │ 229 │ for key, value in x.items(): │ │ ❱ 230 │ │ y[deepcopy(key, memo)] = deepcopy(value, memo) │ │ 231 │ return y │ │ 232 d[dict] = _deepcopy_dict │ │ 233 if PyStringMap is not None: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:172 in deepcopy │ │ │ │ 169 │ │ │ │ if isinstance(rv, str): │ │ 170 │ │ │ │ │ y = x │ │ 171 │ │ │ │ else: │ │ ❱ 172 │ │ │ │ │ y = _reconstruct(x, memo, *rv) │ │ 173 │ │ │ 174 │ # If is its own copy, don't memoize. │ │ 175 │ if y is not x: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:270 in _reconstruct │ │ │ │ 267 │ │ │ 268 │ if state is not None: │ │ 269 │ │ if deep: │ │ ❱ 270 │ │ │ state = deepcopy(state, memo) │ │ 271 │ │ if hasattr(y, 'setstate'): │ │ 272 │ │ │ y.setstate(state) │ │ 273 │ │ else: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:230 in _deepcopy_dict │ │ │ │ 227 │ y = {} │ │ 228 │ memo[id(x)] = y │ │ 229 │ for key, value in x.items(): │ │ ❱ 230 │ │ y[deepcopy(key, memo)] = deepcopy(value, memo) │ │ 231 │ return y │ │ 232 d[dict] = _deepcopy_dict │ │ 233 if PyStringMap is not None: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:230 in _deepcopy_dict │ │ │ │ 227 │ y = {} │ │ 228 │ memo[id(x)] = y │ │ 229 │ for key, value in x.items(): │ │ ❱ 230 │ │ y[deepcopy(key, memo)] = deepcopy(value, memo) │ │ 231 │ return y │ │ 232 d[dict] = _deepcopy_dict │ │ 233 if PyStringMap is not None: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:172 in deepcopy │ │ │ │ 169 │ │ │ │ if isinstance(rv, str): │ │ 170 │ │ │ │ │ y = x │ │ 171 │ │ │ │ else: │ │ ❱ 172 │ │ │ │ │ y = _reconstruct(x, memo, *rv) │ │ 173 │ │ │ 174 │ # If is its own copy, don't memoize. │ │ 175 │ if y is not x: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:264 in _reconstruct │ │ │ │ 261 │ deep = memo is not None │ │ 262 │ if deep and args: │ │ 263 │ │ args = (deepcopy(arg, memo) for arg in args) │ │ ❱ 264 │ y = func(*args) │ │ 265 │ if deep: │ │ 266 │ │ memo[id(x)] = y │ │ 267 │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:263 in │ │ │ │ 260 │ │ │ │ deepcopy=deepcopy): │ │ 261 │ deep = memo is not None │ │ 262 │ if deep and args: │ │ ❱ 263 │ │ args = (deepcopy(arg, memo) for arg in args) │ │ 264 │ y = func(*args) │ │ 265 │ if deep: │ │ 266 │ │ memo[id(x)] = y │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:210 in _deepcopy_tuple │ │ │ │ 207 d[list] = _deepcopy_list │ │ 208 │ │ 209 def _deepcopy_tuple(x, memo, deepcopy=deepcopy): │ │ ❱ 210 │ y = [deepcopy(a, memo) for a in x] │ │ 211 │ # We're not going to put the tuple in the memo, but it's still important we │ │ 212 │ # check for it, in case the tuple contains recursive mutable structures. │ │ 213 │ try: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:210 in │ │ │ │ 207 d[list] = _deepcopy_list │ │ 208 │ │ 209 def _deepcopy_tuple(x, memo, deepcopy=deepcopy): │ │ ❱ 210 │ y = [deepcopy(a, memo) for a in x] │ │ 211 │ # We're not going to put the tuple in the memo, but it's still important we │ │ 212 │ # check for it, in case the tuple contains recursive mutable structures. │ │ 213 │ try: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:172 in deepcopy │ │ │ │ 169 │ │ │ │ if isinstance(rv, str): │ │ 170 │ │ │ │ │ y = x │ │ 171 │ │ │ │ else: │ │ ❱ 172 │ │ │ │ │ y = _reconstruct(x, memo, *rv) │ │ 173 │ │ │ 174 │ # If is its own copy, don't memoize. │ │ 175 │ if y is not x: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:270 in _reconstruct │ │ │ │ 267 │ │ │ 268 │ if state is not None: │ │ 269 │ │ if deep: │ │ ❱ 270 │ │ │ state = deepcopy(state, memo) │ │ 271 │ │ if hasattr(y, 'setstate'): │ │ 272 │ │ │ y.setstate(state) │ │ 273 │ │ else: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:210 in _deepcopy_tuple │ │ │ │ 207 d[list] = _deepcopy_list │ │ 208 │ │ 209 def _deepcopy_tuple(x, memo, deepcopy=deepcopy): │ │ ❱ 210 │ y = [deepcopy(a, memo) for a in x] │ │ 211 │ # We're not going to put the tuple in the memo, but it's still important we │ │ 212 │ # check for it, in case the tuple contains recursive mutable structures. │ │ 213 │ try: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:210 in │ │ │ │ 207 d[list] = _deepcopy_list │ │ 208 │ │ 209 def _deepcopy_tuple(x, memo, deepcopy=deepcopy): │ │ ❱ 210 │ y = [deepcopy(a, memo) for a in x] │ │ 211 │ # We're not going to put the tuple in the memo, but it's still important we │ │ 212 │ # check for it, in case the tuple contains recursive mutable structures. │ │ 213 │ try: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:146 in deepcopy │ │ │ │ 143 │ │ │ 144 │ copier = _deepcopy_dispatch.get(cls) │ │ 145 │ if copier is not None: │ │ ❱ 146 │ │ y = copier(x, memo) │ │ 147 │ else: │ │ 148 │ │ if issubclass(cls, type): │ │ 149 │ │ │ y = _deepcopy_atomic(x, memo) │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:230 in _deepcopy_dict │ │ │ │ 227 │ y = {} │ │ 228 │ memo[id(x)] = y │ │ 229 │ for key, value in x.items(): │ │ ❱ 230 │ │ y[deepcopy(key, memo)] = deepcopy(value, memo) │ │ 231 │ return y │ │ 232 d[dict] = _deepcopy_dict │ │ 233 if PyStringMap is not None: │ │ │ │ /home/liyazhou/miniconda3/envs/ollama/lib/python3.9/copy.py:161 in deepcopy │ │ │ │ 158 │ │ │ │ else: │ │ 159 │ │ │ │ │ reductor = getattr(x, "reduce_ex", None) │ │ 160 │ │ │ │ │ if reductor is not None: │ │ ❱ 161 │ │ │ │ │ │ rv = reductor(4) │ │ 162 │ │ │ │ │ else: │ │ 163 │ │ │ │ │ │ reductor = getattr(x, "reduce", None) │ │ 164 │ │ │ │ │ │ if reductor: │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ TypeError: cannot pickle 'Context' object Exception ignored in: <function BaseEventLoop.del at 0x7f59d7cce9d0> Traceback (most recent call last): File "/home/liyazhou/miniconda3/envs/ollama/lib/python3.9/asyncio/base_events.py", line 685, in del if not self.is_closed(): File "/home/liyazhou/miniconda3/envs/ollama/lib/python3.9/asyncio/base_events.py", line 682, in is_closed return self._closed AttributeError: '_UnixSelectorEventLoop' object has no attribute '_closed'

lucky-asia avatar Mar 07 '25 07:03 lucky-asia

如果您希望在本地部署demo,你需要执行app.py代码,请注意gradio的版本应该是3.47.1,如果是最新的版本,会导致报错,无法加载页面。

app_EmotionLlamaClient.py是我们用来提供api调用功能的代码。由于开发历史的原因,app_EmotionLlamaClient.py和app.py要求的环境是有冲突的。您如果能执行app_EmotionLlamaClient.py没问题,那么执行app.py就会出现问题。您需要重新创建一个新的环境,设置gradio的版本为3.47.1。

ZebangCheng avatar Mar 07 '25 07:03 ZebangCheng