logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Deepfake - error na AMD. - CL_MEM_OBJECT_ALLOCATION_FAILURE

komputerek0001 25 Sty 2020 15:33 723 3
REKLAMA
  • #1 18426061
    komputerek0001
    Poziom 5  
    Posty: 17
    Ocena: 6
    Witam!

    Chciałem ostatnio wypróbować technologię "Deepfake" i zrobić własny filmik z użyciem programu "DeepFaceLab".

    Niestety kiedy chcę włączyć "trenowanie" pojawia się dość szybko błąd: "plaidml.exceptions.Unknown: Unable to allocate device-local memory: CL_MEM_OBJECT_ALLOCATION_FAILURE"

    Tu jest cały terminal:
    Cytat:
    Running trainer.

    Loading model...

    Model first run.
    Enable autobackup? (y/n ?:help skip:n) : n
    Write preview history? (y/n ?:help skip:n) : n
    Target iteration (skip:unlimited/default) :
    0
    Batch_size (?:help skip:0) : 2
    Flip faces randomly? (y/n ?:help skip:y) : n
    Use lightweight autoencoder? (y/n, ?:help skip:n) : n
    Use pixel loss? (y/n, ?:help skip: n/default ) :
    n
    Using plaidml.keras.backend backend.
    INFO:plaidml:Opening device "opencl_amd_pitcairn.0"
    Loading: 100%|####################################################################| 6919/6919 [00:27<00:00, 254.41it/s]
    Loading: 100%|######################################################################| 162/162 [00:00<00:00, 288.05it/s]
    INFO:plaidml:Analyzing Ops: 86 of 159 operations complete
    INFO:plaidml:Analyzing Ops: 125 of 159 operations complete
    ============================ Model Summary ============================
    == ==
    == Model name: H128 ==
    == ==
    == Current iteration: 0 ==
    == ==
    ==-------------------------- Model Options --------------------------==
    == ==
    == random_flip: False ==
    == lighter_ae: False ==
    == pixel_loss: False ==
    == batch_size: 2 ==
    == ==
    ==--------------------------- Running On ----------------------------==
    == ==
    == Device index: 0 ==
    == Name: Advanced Micro Devices, Inc. Pitcairn (OpenCL) ==
    == VRAM: 3.00GB <-- dlaczego tu jest 3GB skoro moja karta ma 4GB? ==
    == ==
    =======================================================================
    Starting. Press "Enter" to stop training and save model.
    INFO:plaidml:Analyzing Ops: 199 of 1560 operations complete
    INFO:plaidml:Analyzing Ops: 233 of 1560 operations complete
    INFO:plaidml:Analyzing Ops: 325 of 1560 operations complete
    INFO:plaidml:Analyzing Ops: 345 of 1560 operations complete
    INFO:plaidml:Analyzing Ops: 381 of 1560 operations complete
    INFO:plaidml:Analyzing Ops: 573 of 1560 operations complete
    INFO:plaidml:Analyzing Ops: 589 of 1560 operations complete
    INFO:plaidml:Analyzing Ops: 680 of 1560 operations complete
    INFO:plaidml:Analyzing Ops: 705 of 1560 operations complete
    INFO:plaidml:Analyzing Ops: 736 of 1560 operations complete
    ERROR:plaidml:Unable to allocate device-local memory: CL_MEM_OBJECT_ALLOCATION_FAILURE
    Error: Unable to allocate device-local memory: CL_MEM_OBJECT_ALLOCATION_FAILURE

    Traceback (most recent call last):
    File "C:\Users\ADAM-PC\Videos\DeepFaceLab_OpenCL\_internal\DeepFaceLab\mainscripts\Trainer.py", line 111, in trainerThread
    iter, iter_time = model.train_one_iter()
    File "C:\Users\ADAM-PC\Videos\DeepFaceLab_OpenCL\_internal\DeepFaceLab\models\ModelBase.py", line 507, in train_one_iter
    losses = self.onTrainOneIter(sample, self.generator_list)
    File "C:\Users\ADAM-PC\Videos\DeepFaceLab_OpenCL\_internal\DeepFaceLab\models\Model_H128\Model.py", line 87, in onTrainOneIter
    total, loss_src_bgr, loss_src_mask, loss_dst_bgr, loss_dst_mask = self.ae.train_on_batch( [warped_src, target_src_mask, warped_dst, target_dst_mask], [target_src, target_src_mask, target_dst, target_dst_mask] )
    File "C:\Users\ADAM-PC\Videos\DeepFaceLab_OpenCL\_internal\python-3.6.8\lib\site-packages\keras\engine\training.py", line 1217, in train_on_batch
    outputs = self.train_function(ins)
    File "C:\Users\ADAM-PC\Videos\DeepFaceLab_OpenCL\_internal\python-3.6.8\lib\site-packages\plaidml\keras\backend.py", line 176, in __call__
    self._invoker.invoke()
    File "C:\Users\ADAM-PC\Videos\DeepFaceLab_OpenCL\_internal\python-3.6.8\lib\site-packages\plaidml\__init__.py", line 1440, in invoke
    return Invocation(self._ctx, self)
    File "C:\Users\ADAM-PC\Videos\DeepFaceLab_OpenCL\_internal\python-3.6.8\lib\site-packages\plaidml\__init__.py", line 1449, in __init__
    self._as_parameter_ = _lib().plaidml_schedule_invocation(ctx, invoker)
    File "C:\Users\ADAM-PC\Videos\DeepFaceLab_OpenCL\_internal\python-3.6.8\lib\site-packages\plaidml\__init__.py", line 764, in _check_err
    self.raise_last_status()
    File "C:\Users\ADAM-PC\Videos\DeepFaceLab_OpenCL\_internal\python-3.6.8\lib\site-packages\plaidml\library.py", line 131, in raise_last_status
    raise self.last_status()
    plaidml.exceptions.Unknown: Unable to allocate device-local memory: CL_MEM_OBJECT_ALLOCATION_FAILURE


    Niestety żadna z metod "trenowania" nie działa. Próbowałem wszystkie wliczając train H64, train H128 i train SAE. Wyjątkiem jest "train Quick96", która zdaje się działać, bo jest pokazany postęp i liczba iteracji. Ale po całonocnej pracy i przy 60.000 iteracji w wyjściowym wideo nie było żadnego "faceswappingu" - wideo było zupełnie niezmienione. Tak jakby "trening" nie zadziałał wcale. Co ciekawe program zdaje się wykrywać w mojej karcie jedynie 3GB VRAM, kiedy to w rzeczywistości mam 4GB.

    Podejrzewam, że karty AMD są słabo wspierane przez tę technologię. Ale moja karta zdaje się spełniać wymagania programu.
    Używam wersji: DeepFaceLab_OpenCL_build_01_11_2020

    MÓJ KOMPUTER:
    Karta graficzna: ASUS Radeon R7 370 4GB GDDR5 (256 bit), HDMI, 2xDVI, DP, Box (STRIX-R7370-DC2OC-4GD5-GAMING) - wspiera OpenCL 2.0
    Procesor: AMD Ryzen 7 2700X
    Pamięć: GoodRam IRDM 2x8GB 3000MHz
    Płyta główna: Asus PRIME B450M-A
  • REKLAMA
  • #2 18427735
    wesmar
    Poziom 22  
    Posty: 414
    Pomógł: 40
    Ocena: 197
    Gdzieś w konfigu/batchu musisz znaleźć opcje uruchamiania z parametrami "--noCPU" "--noNVIDIA"
    Podobny bląd miałem na tej karcie dawno temu przy kryptowalutach.
  • REKLAMA
  • #3 18428633
    komputerek0001
    Poziom 5  
    Posty: 17
    Ocena: 6
    Poszukam takiej opcji, ale wątpię czy coś takiego znajdę - ten program to dla mnie nadal czarna magia.

    Ale właśnie "trenowanie" niby ruszyło. Użyłem opcji "train SAEHD". Ale nie wiem dlaczego nagle zaczęło działać. Wiem, że wartość batch wpisałem tym razem na 8. Może to o to chodziło?

    Dla potomności zostawię ustawienia, przy których ruszyło, bo może ktoś napotka ten sam problem:
    Deepfake - error na AMD. - CL_MEM_OBJECT_ALLOCATION_FAILURE

    Niestety jak na razie nie wiem jaki będzie rezultat pracy komputera, bo dopiero "trenuje" przez 6 godzin. Jeszcze pewnie ze 20 godzin przede mną.
REKLAMA