TypeError: can't apply this __setattr__ to type object
在导入load_dataset时报错
---------------------------------------------------------------------------TypeError Traceback (most recent call last)/tmp/ipykernel_92/3919490867.py in
可否提供下使用的代码链接或者复现的代码呢
遇到类似问题(直接import paddlenlp报错),能否帮忙看下
遇到类似问题(直接import paddlenlp报错),能否帮忙看下
麻烦提供下使用的paddlenlp的版本看下呢
遇到类似问题(直接import paddlenlp报错),能否帮忙看下
麻烦提供下使用的paddlenlp的版本看下呢
已解决,解决方案:编辑项目,项目框架设置为最新PaddlePaddle==2.3.2。
在AI Studio基础环境中,使用!pip install --upgrade paddlenlp,升级至2.4.0。
from functools import partial
import argparse
import os
import random
import time
import numpy as np
import paddle
import paddle.nn as nn
import paddle.nn.functional as F
import paddlenlp as ppnlp
运行至最后一行报错。
290532727.py in <module>
10 import paddle.nn.functional as F
11
---> 12 import paddlenlp as ppnlp
13 from paddlenlp.data import Stack, Tuple, Pad
14 from paddlenlp.datasets import load_dataset
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlenlp/__init__.py in <module>
22 "Please import paddlenlp before datasets module to avoid download issues"
23 )
---> 24 from . import data
25 from . import datasets
26 from . import embeddings
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlenlp/data/__init__.py in <module>
14
15 from .collate import *
---> 16 from .data_collator import *
17 from .vocab import *
18 from .sampler import *
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlenlp/data/data_collator.py in <module>
21 import warnings
22 from dataclasses import dataclass
---> 23 from ..transformers.tokenizer_utils_base import BatchEncoding, PretrainedTokenizerBase, PaddingStrategy
24
25 __all__ = [
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlenlp/transformers/__init__.py in <module>
13 # limitations under the License.
14
---> 15 from .model_utils import PretrainedModel, register_base_model
16 from .tokenizer_utils import PretrainedTokenizer, BPETokenizer, tokenize_chinese_chars, is_chinese_char, AddedToken, normalize_chars, tokenize_special_chars, convert_to_unicode
17 from .attention_utils import create_bigbird_rand_mask_idx_list
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlenlp/transformers/model_utils.py in <module>
76
77 @six.add_metaclass(InitTrackerMeta)
---> 78 class PretrainedModel(Layer, GenerationMixin):
79 """
80 The base class for all pretrained models. It mainly provides common methods
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/six.py in wrapper(cls)
892 if hasattr(cls, '__qualname__'):
893 orig_vars['__qualname__'] = cls.__qualname__
--> 894 return metaclass(cls.__name__, cls.__bases__, orig_vars)
895 return wrapper
896
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlenlp/transformers/utils.py in __init__(cls, name, bases, attrs)
130 None) if '__init__' in attrs else None
131 cls.__init__ = InitTrackerMeta.init_and_track_conf(
--> 132 init_func, pre_init_func, post_init_func)
133 super(InitTrackerMeta, cls).__init__(name, bases, attrs)
134
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlenlp/transformers/utils.py in __setattr__(self, name, value)
170 def __setattr__(self, name, value):
171 value = adapt_stale_fwd_patch(self, name, value)
--> 172 return super(InitTrackerMeta, self).__setattr__(name, value)
TypeError: can't apply this __setattr__ to type object
项目设置中的项目框架PaddlePaddle==2.1.2。
(upgrade中会报需求pyzmq-18.1.1,但pyzmq-18.1.1又不符合jupyter-client 7.3.5的需求。)
parl 1.4.1 requires pyzmq==18.1.1, but you have pyzmq 23.2.1 which is incompatible.
Python版本: python 3.7
框架版本: PaddlePaddle 2.1.2
paddlenlp:2.4.0
上述版本会报这个错,将paddlenlp 降级为2.0.8 就不会报错啦
遇到类似的问题,降低版本可以解决这个问题,但是又引入了其他错误。。。。
我也遇到这个问题, import paddle 报错
python 3.7 paddlenlp 2.4.2 paddlepaddle-gpu 2.1.3.post112,
一样的TypeError: can't apply this setattr to type object
Traceback (most recent call last):
File "web.py", line 15, in <module>
from paddlenlp import Taskflow
File "/opt/conda/lib/python3.7/site-packages/paddlenlp/__init__.py", line 24, in <module>
from . import data
File "/opt/conda/lib/python3.7/site-packages/paddlenlp/data/__init__.py", line 16, in <module>
from .data_collator import *
File "/opt/conda/lib/python3.7/site-packages/paddlenlp/data/data_collator.py", line 23, in <module>
from ..transformers.tokenizer_utils_base import BatchEncoding, PretrainedTokenizerBase, PaddingStrategy
File "/opt/conda/lib/python3.7/site-packages/paddlenlp/transformers/__init__.py", line 15, in <module>
from .model_utils import PretrainedModel, register_base_model
File "/opt/conda/lib/python3.7/site-packages/paddlenlp/transformers/model_utils.py", line 78, in <module>
class PretrainedModel(Layer, GenerationMixin):
File "/opt/conda/lib/python3.7/site-packages/six.py", line 894, in wrapper
return metaclass(cls.__name__, cls.__bases__, orig_vars)
File "/opt/conda/lib/python3.7/site-packages/paddlenlp/transformers/utils.py", line 132, in __init__
init_func, pre_init_func, post_init_func)
File "/opt/conda/lib/python3.7/site-packages/paddlenlp/transformers/utils.py", line 172, in __setattr__
return super(InitTrackerMeta, self).__setattr__(name, value)
TypeError: can't apply this __setattr__ to type object
This issue is stale because it has been open for 60 days with no activity. 当前issue 60天内无活动,被标记为stale。
This issue was closed because it has been inactive for 14 days since being marked as stale. 当前issue 被标记为stale已有14天,即将关闭。
升级一下paddle版本