avans06 commited on
Commit
67af9e2
1 Parent(s): b01e56c

Resolved the transProcessor deletion issue causing an exception in TranslationModel.py for release_vram.

Browse files
Files changed (2) hide show
  1. app.py +108 -186
  2. src/translation/translationModel.py +1 -1
app.py CHANGED
@@ -114,22 +114,11 @@ class WhisperTranscriber:
114
  self.diarization.cleanup()
115
  self.diarization_kwargs = None
116
 
117
- # Entry function for the simple tab, Queue mode disabled: progress bars will not be shown
118
- def transcribe_webui_simple(self, data: dict): return self.transcribe_webui_simple_progress(data)
119
-
120
- # Entry function for the simple tab progress, Progress tracking requires queuing to be enabled
121
- def transcribe_webui_simple_progress(self, data: dict, progress=gr.Progress()):
122
- dataDict = {}
123
- for key, value in data.items():
124
- dataDict.update({key.elem_id: value})
125
-
126
- return self.transcribe_webui(dataDict, progress=progress)
127
-
128
- # Entry function for the full tab, Queue mode disabled: progress bars will not be shown
129
- def transcribe_webui_full(self, data: dict): return self.transcribe_webui_full_progress(data)
130
 
131
- # Entry function for the full tab with progress, Progress tracking requires queuing to be enabled
132
- def transcribe_webui_full_progress(self, data: dict, progress=gr.Progress()):
133
  dataDict = {}
134
  for key, value in data.items():
135
  dataDict.update({key.elem_id: value})
@@ -1043,182 +1032,115 @@ def create_ui(app_config: ApplicationConfig):
1043
 
1044
  is_queue_mode = app_config.queue_concurrency_count is not None and app_config.queue_concurrency_count > 0
1045
 
1046
- simpleInputDict = {}
1047
-
1048
- with gr.Blocks() as simpleTranscribe:
1049
- simpleTranslateInput = gr.State(value="m2m100", elem_id = "translateInput")
1050
- simpleSourceInput = gr.State(value="urlData", elem_id = "sourceInput")
1051
- gr.Markdown(uiDescription)
1052
- with gr.Row():
1053
- with gr.Column():
1054
- simpleSubmit = gr.Button("Submit", variant="primary")
1055
  with gr.Column():
1056
- with gr.Row():
1057
- simpleInputDict = common_whisper_inputs()
1058
- with gr.Tab(label="M2M100") as simpleM2M100Tab:
1059
- with gr.Row():
1060
- simpleInputDict.update(common_m2m100_inputs())
1061
- with gr.Tab(label="NLLB") as simpleNllbTab:
1062
- with gr.Row():
1063
- simpleInputDict.update(common_nllb_inputs())
1064
- with gr.Tab(label="MT5") as simpleMT5Tab:
1065
- with gr.Row():
1066
- simpleInputDict.update(common_mt5_inputs())
1067
- with gr.Tab(label="ALMA") as simpleALMATab:
1068
- with gr.Row():
1069
- simpleInputDict.update(common_ALMA_inputs())
1070
- with gr.Tab(label="madlad400") as simpleMadlad400Tab:
1071
- with gr.Row():
1072
- simpleInputDict.update(common_madlad400_inputs())
1073
- with gr.Tab(label="seamless") as simpleSeamlessTab:
1074
  with gr.Row():
1075
- simpleInputDict.update(common_seamless_inputs())
1076
- simpleM2M100Tab.select(fn=lambda: "m2m100", inputs = [], outputs= [simpleTranslateInput] )
1077
- simpleNllbTab.select(fn=lambda: "nllb", inputs = [], outputs= [simpleTranslateInput] )
1078
- simpleMT5Tab.select(fn=lambda: "mt5", inputs = [], outputs= [simpleTranslateInput] )
1079
- simpleALMATab.select(fn=lambda: "ALMA", inputs = [], outputs= [simpleTranslateInput] )
1080
- simpleMadlad400Tab.select(fn=lambda: "madlad400", inputs = [], outputs= [simpleTranslateInput] )
1081
- simpleSeamlessTab.select(fn=lambda: "seamless", inputs = [], outputs= [simpleTranslateInput] )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1082
  with gr.Column():
1083
- with gr.Tab(label="URL") as simpleUrlTab:
1084
- simpleInputDict.update({gr.Text(label="URL (YouTube, etc.)", elem_id = "urlData")})
1085
- with gr.Tab(label="Upload") as simpleUploadTab:
1086
- simpleInputDict.update({gr.File(label="Upload Files", file_count="multiple", elem_id = "multipleFiles")})
1087
- with gr.Tab(label="Microphone") as simpleMicTab:
1088
- simpleInputDict.update({gr.Audio(source="microphone", type="filepath", label="Microphone Input", elem_id = "microphoneData")})
1089
- simpleUrlTab.select(fn=lambda: "urlData", inputs = [], outputs= [simpleSourceInput] )
1090
- simpleUploadTab.select(fn=lambda: "multipleFiles", inputs = [], outputs= [simpleSourceInput] )
1091
- simpleMicTab.select(fn=lambda: "microphoneData", inputs = [], outputs= [simpleSourceInput] )
1092
- simpleInputDict.update({gr.Dropdown(choices=["transcribe", "translate"], label="Task", value=app_config.task, elem_id = "task")})
1093
- with gr.Accordion("VAD options", open=False):
1094
- simpleInputDict.update(common_vad_inputs())
1095
- with gr.Accordion("Word Timestamps options", open=False):
1096
- simpleInputDict.update(common_word_timestamps_inputs())
1097
- with gr.Accordion("Whisper Filter options", open=False):
1098
- simpleInputDict.update(common_segments_filter_inputs())
1099
- with gr.Accordion("Diarization options", open=False):
1100
- simpleInputDict.update(common_diarization_inputs())
1101
- with gr.Accordion("Translation options", open=False):
1102
- simpleInputDict.update(common_translation_inputs())
1103
- with gr.Column():
1104
- simpleOutput = common_output()
1105
- gr.Markdown(uiArticle)
1106
- if optionsMd is not None:
1107
- with gr.Accordion("docs/options.md", open=False):
1108
- gr.Markdown(optionsMd)
1109
- if translateModelMd is not None:
1110
- with gr.Accordion("docs/translateModel.md", open=False):
1111
- gr.Markdown(translateModelMd)
1112
- if readmeMd is not None:
1113
- with gr.Accordion("README.md", open=False):
1114
- gr.Markdown(readmeMd)
1115
-
1116
- simpleInputDict.update({simpleTranslateInput, simpleSourceInput})
1117
- simpleSubmit.click(fn=ui.transcribe_webui_simple_progress if is_queue_mode else ui.transcribe_webui_simple,
1118
- inputs=simpleInputDict, outputs=simpleOutput)
1119
 
1120
- fullInputDict = {}
1121
  fullDescription = uiDescription + "\n\n\n\n" + "Be careful when changing some of the options in the full interface - this can cause the model to crash."
1122
-
1123
- with gr.Blocks() as fullTranscribe:
1124
- fullTranslateInput = gr.State(value="m2m100", elem_id = "translateInput")
1125
- fullSourceInput = gr.State(value="urlData", elem_id = "sourceInput")
1126
- gr.Markdown(fullDescription)
1127
- with gr.Row():
1128
- with gr.Column():
1129
- fullSubmit = gr.Button("Submit", variant="primary")
1130
- with gr.Column():
1131
- with gr.Row():
1132
- fullInputDict = common_whisper_inputs()
1133
- with gr.Tab(label="M2M100") as fullM2M100Tab:
1134
- with gr.Row():
1135
- fullInputDict.update(common_m2m100_inputs())
1136
- with gr.Tab(label="NLLB") as fullNllbTab:
1137
- with gr.Row():
1138
- fullInputDict.update(common_nllb_inputs())
1139
- with gr.Tab(label="MT5") as fullMT5Tab:
1140
- with gr.Row():
1141
- fullInputDict.update(common_mt5_inputs())
1142
- with gr.Tab(label="ALMA") as fullALMATab:
1143
- with gr.Row():
1144
- fullInputDict.update(common_ALMA_inputs())
1145
- with gr.Tab(label="madlad400") as fullMadlad400Tab:
1146
- with gr.Row():
1147
- fullInputDict.update(common_madlad400_inputs())
1148
- with gr.Tab(label="seamless") as fullSeamlessTab:
1149
- with gr.Row():
1150
- fullInputDict.update(common_seamless_inputs())
1151
- fullM2M100Tab.select(fn=lambda: "m2m100", inputs = [], outputs= [fullTranslateInput] )
1152
- fullNllbTab.select(fn=lambda: "nllb", inputs = [], outputs= [fullTranslateInput] )
1153
- fullMT5Tab.select(fn=lambda: "mt5", inputs = [], outputs= [fullTranslateInput] )
1154
- fullALMATab.select(fn=lambda: "ALMA", inputs = [], outputs= [fullTranslateInput] )
1155
- fullMadlad400Tab.select(fn=lambda: "madlad400", inputs = [], outputs= [fullTranslateInput] )
1156
- fullSeamlessTab.select(fn=lambda: "seamless", inputs = [], outputs= [fullTranslateInput] )
1157
- with gr.Column():
1158
- with gr.Tab(label="URL") as fullUrlTab:
1159
- fullInputDict.update({gr.Text(label="URL (YouTube, etc.)", elem_id = "urlData")})
1160
- with gr.Tab(label="Upload") as fullUploadTab:
1161
- fullInputDict.update({gr.File(label="Upload Files", file_count="multiple", elem_id = "multipleFiles")})
1162
- with gr.Tab(label="Microphone") as fullMicTab:
1163
- fullInputDict.update({gr.Audio(source="microphone", type="filepath", label="Microphone Input", elem_id = "microphoneData")})
1164
- fullUrlTab.select(fn=lambda: "urlData", inputs = [], outputs= [fullSourceInput] )
1165
- fullUploadTab.select(fn=lambda: "multipleFiles", inputs = [], outputs= [fullSourceInput] )
1166
- fullMicTab.select(fn=lambda: "microphoneData", inputs = [], outputs= [fullSourceInput] )
1167
- fullInputDict.update({gr.Dropdown(choices=["transcribe", "translate"], label="Task", value=app_config.task, elem_id = "task")})
1168
- with gr.Accordion("VAD options", open=False):
1169
- fullInputDict.update(common_vad_inputs())
1170
- fullInputDict.update({
1171
- gr.Number(label="VAD - Padding (s)", precision=None, value=app_config.vad_padding, elem_id = "vadPadding"),
1172
- gr.Number(label="VAD - Prompt Window (s)", precision=None, value=app_config.vad_prompt_window, elem_id = "vadPromptWindow"),
1173
- gr.Dropdown(choices=VAD_INITIAL_PROMPT_MODE_VALUES, label="VAD - Initial Prompt Mode", value=app_config.vad_initial_prompt_mode, elem_id = "vadInitialPromptMode")})
1174
- with gr.Accordion("Word Timestamps options", open=False):
1175
- fullInputDict.update(common_word_timestamps_inputs())
1176
- fullInputDict.update({
1177
- gr.Text(label="Word Timestamps - Prepend Punctuations", value=app_config.prepend_punctuations, elem_id = "prepend_punctuations"),
1178
- gr.Text(label="Word Timestamps - Append Punctuations", value=app_config.append_punctuations, elem_id = "append_punctuations")})
1179
- with gr.Accordion("Whisper Advanced options", open=False):
1180
- fullInputDict.update({
1181
- gr.TextArea(label="Initial Prompt", elem_id = "initial_prompt"),
1182
- gr.Number(label="Temperature", value=app_config.temperature, elem_id = "temperature"),
1183
- gr.Number(label="Best Of - Non-zero temperature", value=app_config.best_of, precision=0, elem_id = "best_of"),
1184
- gr.Number(label="Beam Size - Zero temperature", value=app_config.beam_size, precision=0, elem_id = "beam_size"),
1185
- gr.Number(label="Patience - Zero temperature", value=app_config.patience, elem_id = "patience"),
1186
- gr.Number(label="Length Penalty - Any temperature", value=lambda : None if app_config.length_penalty is None else app_config.length_penalty, elem_id = "length_penalty"),
1187
- gr.Text(label="Suppress Tokens - Comma-separated list of token IDs", value=app_config.suppress_tokens, elem_id = "suppress_tokens"),
1188
- gr.Checkbox(label="Condition on previous text", value=app_config.condition_on_previous_text, elem_id = "condition_on_previous_text"),
1189
- gr.Checkbox(label="FP16", value=app_config.fp16, elem_id = "fp16"),
1190
- gr.Number(label="Temperature increment on fallback", value=app_config.temperature_increment_on_fallback, elem_id = "temperature_increment_on_fallback"),
1191
- gr.Number(label="Compression ratio threshold", value=app_config.compression_ratio_threshold, elem_id = "compression_ratio_threshold"),
1192
- gr.Number(label="Logprob threshold", value=app_config.logprob_threshold, elem_id = "logprob_threshold"),
1193
- gr.Number(label="No speech threshold", value=app_config.no_speech_threshold, elem_id = "no_speech_threshold"),
1194
- })
1195
- if app_config.whisper_implementation == "faster-whisper":
1196
- fullInputDict.update({
1197
- gr.Number(label="Repetition Penalty", value=app_config.repetition_penalty, elem_id = "repetition_penalty"),
1198
- gr.Number(label="No Repeat Ngram Size", value=app_config.no_repeat_ngram_size, precision=0, elem_id = "no_repeat_ngram_size")
1199
- })
1200
- with gr.Accordion("Whisper Segments Filter options", open=False):
1201
- fullInputDict.update(common_segments_filter_inputs())
1202
- with gr.Accordion("Diarization options", open=False):
1203
- fullInputDict.update(common_diarization_inputs())
1204
- with gr.Accordion("Translation options", open=False):
1205
- fullInputDict.update(common_translation_inputs())
1206
- with gr.Column():
1207
- fullOutput = common_output()
1208
- gr.Markdown(uiArticle)
1209
- if optionsMd is not None:
1210
- with gr.Accordion("docs/options.md", open=False):
1211
- gr.Markdown(optionsMd)
1212
- if translateModelMd is not None:
1213
- with gr.Accordion("docs/translateModel.md", open=False):
1214
- gr.Markdown(translateModelMd)
1215
- if readmeMd is not None:
1216
- with gr.Accordion("README.md", open=False):
1217
- gr.Markdown(readmeMd)
1218
-
1219
- fullInputDict.update({fullTranslateInput, fullSourceInput})
1220
- fullSubmit.click(fn=ui.transcribe_webui_full_progress if is_queue_mode else ui.transcribe_webui_full,
1221
- inputs=fullInputDict, outputs=fullOutput)
1222
 
1223
  demo = gr.TabbedInterface([simpleTranscribe, fullTranscribe], tab_names=["Simple", "Full"], css=css)
1224
 
 
114
  self.diarization.cleanup()
115
  self.diarization_kwargs = None
116
 
117
+ # Entry function for the simple or full tab, Queue mode disabled: progress bars will not be shown
118
+ def transcribe_entry(self, data: dict): return self.transcribe_entry_progress(data)
 
 
 
 
 
 
 
 
 
 
 
119
 
120
+ # Entry function for the simple or full tab with progress, Progress tracking requires queuing to be enabled
121
+ def transcribe_entry_progress(self, data: dict, progress=gr.Progress()):
122
  dataDict = {}
123
  for key, value in data.items():
124
  dataDict.update({key.elem_id: value})
 
1032
 
1033
  is_queue_mode = app_config.queue_concurrency_count is not None and app_config.queue_concurrency_count > 0
1034
 
1035
+ def create_transcribe(uiDescription: str, isQueueMode: bool, isFull: bool = False):
1036
+ with gr.Blocks() as transcribe:
1037
+ translateInput = gr.State(value="m2m100", elem_id = "translateInput")
1038
+ sourceInput = gr.State(value="urlData", elem_id = "sourceInput")
1039
+ gr.Markdown(uiDescription)
1040
+ with gr.Row():
 
 
 
1041
  with gr.Column():
1042
+ submitBtn = gr.Button("Submit", variant="primary")
1043
+ with gr.Column():
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1044
  with gr.Row():
1045
+ inputDict = common_whisper_inputs()
1046
+ with gr.Tab(label="M2M100") as m2m100Tab:
1047
+ with gr.Row():
1048
+ inputDict.update(common_m2m100_inputs())
1049
+ with gr.Tab(label="NLLB") as nllbTab:
1050
+ with gr.Row():
1051
+ inputDict.update(common_nllb_inputs())
1052
+ with gr.Tab(label="MT5") as mt5Tab:
1053
+ with gr.Row():
1054
+ inputDict.update(common_mt5_inputs())
1055
+ with gr.Tab(label="ALMA") as almaTab:
1056
+ with gr.Row():
1057
+ inputDict.update(common_ALMA_inputs())
1058
+ with gr.Tab(label="madlad400") as madlad400Tab:
1059
+ with gr.Row():
1060
+ inputDict.update(common_madlad400_inputs())
1061
+ with gr.Tab(label="seamless") as seamlessTab:
1062
+ with gr.Row():
1063
+ inputDict.update(common_seamless_inputs())
1064
+ m2m100Tab.select(fn=lambda: "m2m100", inputs = [], outputs= [translateInput] )
1065
+ nllbTab.select(fn=lambda: "nllb", inputs = [], outputs= [translateInput] )
1066
+ mt5Tab.select(fn=lambda: "mt5", inputs = [], outputs= [translateInput] )
1067
+ almaTab.select(fn=lambda: "ALMA", inputs = [], outputs= [translateInput] )
1068
+ madlad400Tab.select(fn=lambda: "madlad400", inputs = [], outputs= [translateInput] )
1069
+ seamlessTab.select(fn=lambda: "seamless", inputs = [], outputs= [translateInput] )
1070
+ with gr.Column():
1071
+ with gr.Tab(label="URL") as UrlTab:
1072
+ inputDict.update({gr.Text(label="URL (YouTube, etc.)", elem_id = "urlData")})
1073
+ with gr.Tab(label="Upload") as UploadTab:
1074
+ inputDict.update({gr.File(label="Upload Files", file_count="multiple", elem_id = "multipleFiles")})
1075
+ with gr.Tab(label="Microphone") as MicTab:
1076
+ inputDict.update({gr.Audio(source="microphone", type="filepath", label="Microphone Input", elem_id = "microphoneData")})
1077
+ UrlTab.select(fn=lambda: "urlData", inputs = [], outputs= [sourceInput] )
1078
+ UploadTab.select(fn=lambda: "multipleFiles", inputs = [], outputs= [sourceInput] )
1079
+ MicTab.select(fn=lambda: "microphoneData", inputs = [], outputs= [sourceInput] )
1080
+ inputDict.update({gr.Dropdown(choices=["transcribe", "translate"], label="Task", value=app_config.task, elem_id = "task")})
1081
+ with gr.Accordion("VAD options", open=False):
1082
+ inputDict.update(common_vad_inputs())
1083
+ if isFull:
1084
+ inputDict.update({
1085
+ gr.Number(label="VAD - Padding (s)", precision=None, value=app_config.vad_padding, elem_id = "vadPadding"),
1086
+ gr.Number(label="VAD - Prompt Window (s)", precision=None, value=app_config.vad_prompt_window, elem_id = "vadPromptWindow"),
1087
+ gr.Dropdown(choices=VAD_INITIAL_PROMPT_MODE_VALUES, label="VAD - Initial Prompt Mode", value=app_config.vad_initial_prompt_mode, elem_id = "vadInitialPromptMode")})
1088
+ with gr.Accordion("Word Timestamps options", open=False):
1089
+ inputDict.update(common_word_timestamps_inputs())
1090
+ if isFull:
1091
+ inputDict.update({
1092
+ gr.Text(label="Word Timestamps - Prepend Punctuations", value=app_config.prepend_punctuations, elem_id = "prepend_punctuations"),
1093
+ gr.Text(label="Word Timestamps - Append Punctuations", value=app_config.append_punctuations, elem_id = "append_punctuations")})
1094
+ if isFull:
1095
+ with gr.Accordion("Whisper Advanced options", open=False):
1096
+ inputDict.update({
1097
+ gr.TextArea(label="Initial Prompt", elem_id = "initial_prompt"),
1098
+ gr.Number(label="Temperature", value=app_config.temperature, elem_id = "temperature"),
1099
+ gr.Number(label="Best Of - Non-zero temperature", value=app_config.best_of, precision=0, elem_id = "best_of"),
1100
+ gr.Number(label="Beam Size - Zero temperature", value=app_config.beam_size, precision=0, elem_id = "beam_size"),
1101
+ gr.Number(label="Patience - Zero temperature", value=app_config.patience, elem_id = "patience"),
1102
+ gr.Number(label="Length Penalty - Any temperature", value=lambda : None if app_config.length_penalty is None else app_config.length_penalty, elem_id = "length_penalty"),
1103
+ gr.Text(label="Suppress Tokens - Comma-separated list of token IDs", value=app_config.suppress_tokens, elem_id = "suppress_tokens"),
1104
+ gr.Checkbox(label="Condition on previous text", value=app_config.condition_on_previous_text, elem_id = "condition_on_previous_text"),
1105
+ gr.Checkbox(label="FP16", value=app_config.fp16, elem_id = "fp16"),
1106
+ gr.Number(label="Temperature increment on fallback", value=app_config.temperature_increment_on_fallback, elem_id = "temperature_increment_on_fallback"),
1107
+ gr.Number(label="Compression ratio threshold", value=app_config.compression_ratio_threshold, elem_id = "compression_ratio_threshold"),
1108
+ gr.Number(label="Logprob threshold", value=app_config.logprob_threshold, elem_id = "logprob_threshold"),
1109
+ gr.Number(label="No speech threshold", value=app_config.no_speech_threshold, elem_id = "no_speech_threshold"),
1110
+ })
1111
+ if app_config.whisper_implementation == "faster-whisper":
1112
+ inputDict.update({
1113
+ gr.Number(label="Repetition Penalty", value=app_config.repetition_penalty, elem_id = "repetition_penalty"),
1114
+ gr.Number(label="No Repeat Ngram Size", value=app_config.no_repeat_ngram_size, precision=0, elem_id = "no_repeat_ngram_size")
1115
+ })
1116
+ with gr.Accordion("Whisper Segments Filter options", open=False):
1117
+ inputDict.update(common_segments_filter_inputs())
1118
+ with gr.Accordion("Diarization options", open=False):
1119
+ inputDict.update(common_diarization_inputs())
1120
+ with gr.Accordion("Translation options", open=False):
1121
+ inputDict.update(common_translation_inputs())
1122
  with gr.Column():
1123
+ outputs = common_output()
1124
+ gr.Markdown(uiArticle)
1125
+ if optionsMd is not None:
1126
+ with gr.Accordion("docs/options.md", open=False):
1127
+ gr.Markdown(optionsMd)
1128
+ if translateModelMd is not None:
1129
+ with gr.Accordion("docs/translateModel.md", open=False):
1130
+ gr.Markdown(translateModelMd)
1131
+ if readmeMd is not None:
1132
+ with gr.Accordion("README.md", open=False):
1133
+ gr.Markdown(readmeMd)
1134
+
1135
+ inputDict.update({translateInput, sourceInput})
1136
+ submitBtn.click(fn=ui.transcribe_entry_progress if isQueueMode else ui.transcribe_entry,
1137
+ inputs=inputDict, outputs=outputs)
1138
+
1139
+ return transcribe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1140
 
1141
+ simpleTranscribe = create_transcribe(uiDescription, is_queue_mode)
1142
  fullDescription = uiDescription + "\n\n\n\n" + "Be careful when changing some of the options in the full interface - this can cause the model to crash."
1143
+ fullTranscribe = create_transcribe(fullDescription, is_queue_mode, True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1144
 
1145
  demo = gr.TabbedInterface([simpleTranscribe, fullTranscribe], tab_names=["Simple", "Full"], css=css)
1146
 
src/translation/translationModel.py CHANGED
@@ -318,7 +318,7 @@ class TranslationModel:
318
  if getattr(self, "transModel", None) is not None and getattr(self.transModel, "unload_model", None) is not None:
319
  self.transModel.unload_model()
320
 
321
- if getattr(self, "transProcessor") is not None:
322
  del self.transProcessor
323
  if getattr(self, "transTokenizer", None) is not None:
324
  del self.transTokenizer
 
318
  if getattr(self, "transModel", None) is not None and getattr(self.transModel, "unload_model", None) is not None:
319
  self.transModel.unload_model()
320
 
321
+ if getattr(self, "transProcessor", None) is not None:
322
  del self.transProcessor
323
  if getattr(self, "transTokenizer", None) is not None:
324
  del self.transTokenizer