Ошибка преобразования Tensorflowjs: & ldquo; ValueError: Unsupported Ops & rdquo;

Хороший ответ. Сегодня я работаю над подобной проблемой при попытке создать веб-рабочих с резервными возможностями, когда они недоступны (т. е. запустить рабочий сценарий в основном потоке). Поскольку этот поток относится к этой теме, я думал, что предоставил бы мое решение здесь:

    <script type="javascript/worker">
        //WORKER FUNCTIONS
        self.onmessage = function(event) {
            postMessage('Hello, ' + event.data.name + '!');
        }
    </script>

    <script type="text/javascript">

        function inlineWorker(parts, params, callback) {

            var URL = (window.URL || window.webkitURL);

            if (!URL && window.Worker) {

                var worker = new window.Worker(URL.createObjectURL(new Blob([parts], { "type" : "text/javascript" })));

                worker.onmessage = function(event) {
                  callback(event.data);
                };

                worker.postMessage(params);

            } else {

                var postMessage = function(result) {
                  callback(result);
                };

                var self = {}; //'self' in scope of inlineWorker. 
                eval(parts); //Converts self.onmessage function string to function on self via nearest scope (previous line) - please email chrisgwgreen.site@gmail.com if this could be tidier.
                self.onmessage({ 
                    data: params 
                });
            }
        }

        inlineWorker(
            document.querySelector('[type="javascript/worker"]').textContent, 
            {
                name: 'Chaps!!'
            },
            function(result) {
                document.body.innerHTML = result;
            }
        );

    </script>
</body>

0
задан RussellB 27 February 2019 в 16:00
поделиться

1 ответ

Короткий ответ: да, вам нужно будет их изменить. TensorflowJS изменит операции в целях оптимизации, но не все операции имеют эквивалентную версию TFJS. Полный список поддерживаемых операций находится здесь: https://github.com/tensorflow/tfjs-converter/blob/master/docs/supported_ops.md

Как ни странно, «NonMaxSuppression» действительно кажется быть в списке, но ResizeArea нет, и 100% не будет работать.

Альтернативой является создание собственной операции и использование этого кода, но я не уверен, как это сделать в TFJS.

0
ответ дан FCOS 27 February 2019 в 16:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: