Как возможно, что переменная поля становится None сразу после строки присваивания?
В частности, печатается следующий код
CLIPTokenizerFast NoneType CLIPTextModelWithProjection
при запуске _setup_txt_encoder
self.txt_encoder должна быть той же переменной, что и txt_encoder, но при доступе она извлекается как NoneTypeПохоже, что проблема вызвана LightningModule, потому что если я удалю его из наследования класса, проблем не будет.
from transformers import AutoTokenizer, PreTrainedTokenizer, PreTrainedTokenizerFast, CLIPTextModelWithProjection
from typing import Optional
from pytorch_lightning import LightningModule
class Foo:
def _setup_txt_encoder(self, clip_txt_model_name: str):
print('loading text tokenizer and encoder')
tokenizer = AutoTokenizer.from_pretrained(clip_txt_model_name, clean_up_tokenization_spaces=True)
txt_encoder = CLIPTextModelWithProjection.from_pretrained(clip_txt_model_name).requires_grad_(False)
self.tokenizer, self.txt_encoder = tokenizer, txt_encoder
self.txt_encoder = txt_encoder
print(type(self.tokenizer).__name__, type(self.txt_encoder).__name__, type(txt_encoder).__name__)
return tokenizer, txt_encoder
tokenizer: Optional[PreTrainedTokenizer|PreTrainedTokenizerFast] = None
txt_encoder: Optional[CLIPTextModelWithProjection] = None
class Bar(LightningModule, Foo):
def __init__(self, clip_txt_model_name='laion/CLIP-ViT-bigG-14-laion2B-39B-b160k'):
super().__init__()
if self.tokenizer is None or self.txt_encoder is None:
self._setup_txt_encoder(clip_txt_model_name)
test = Bar()
Подробнее здесь: https://stackoverflow.com/questions/791 ... t-after-as
LightningModule приводит к тому, что переменная модели становится None по ссылке сразу после назначения ⇐ Python
Программы на Python
1730279149
Anonymous
Как возможно, что переменная поля становится None сразу после строки присваивания?
В частности, печатается следующий код
CLIPTokenizerFast NoneType CLIPTextModelWithProjection
при запуске _setup_txt_encoder
self.txt_encoder должна быть той же переменной, что и txt_encoder, но при доступе она извлекается как NoneTypeПохоже, что проблема вызвана LightningModule, потому что если я удалю его из наследования класса, проблем не будет.
from transformers import AutoTokenizer, PreTrainedTokenizer, PreTrainedTokenizerFast, CLIPTextModelWithProjection
from typing import Optional
from pytorch_lightning import LightningModule
class Foo:
def _setup_txt_encoder(self, clip_txt_model_name: str):
print('loading text tokenizer and encoder')
tokenizer = AutoTokenizer.from_pretrained(clip_txt_model_name, clean_up_tokenization_spaces=True)
txt_encoder = CLIPTextModelWithProjection.from_pretrained(clip_txt_model_name).requires_grad_(False)
self.tokenizer, self.txt_encoder = tokenizer, txt_encoder
self.txt_encoder = txt_encoder
print(type(self.tokenizer).__name__, type(self.txt_encoder).__name__, type(txt_encoder).__name__)
return tokenizer, txt_encoder
tokenizer: Optional[PreTrainedTokenizer|PreTrainedTokenizerFast] = None
txt_encoder: Optional[CLIPTextModelWithProjection] = None
class Bar(LightningModule, Foo):
def __init__(self, clip_txt_model_name='laion/CLIP-ViT-bigG-14-laion2B-39B-b160k'):
super().__init__()
if self.tokenizer is None or self.txt_encoder is None:
self._setup_txt_encoder(clip_txt_model_name)
test = Bar()
Подробнее здесь: [url]https://stackoverflow.com/questions/79140241/lightningmodule-causes-model-variable-to-become-none-on-reference-right-after-as[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия