Ошибка: tenors.sub (...). Get не является функцией - PullRequest
0 голосов
/ 26 марта 2020

Я работаю над векторизованной реализацией линейной регрессии с использованием градиентного спуска. Чтобы определить, как далеко находятся веса, я использую r ^ 2 statisti c, но когда я пытаюсь получить остаточную и общую ошибку, у меня возникают проблемы с тензорным потоком. js method "get ( )».

Мой код выглядит следующим образом:

 function test(tfeatures, tlabels) { 
        tfeatures = tf.tensor(tfeatures);
        tlabels = tf.tensor(tlabels); 
        tfeatures = tf.ones([tfeatures.shape[0],1]).concat(tfeatures, 1);

        const predictions = tfeatures.matMul(global.weights); 

        let tactual = tlabels.sub(predictions).pow(2).sum().get();
        let tresidual = tlabels.sub(tlabels.mean()).pow(2).sum().get();

        return 1-(tresidual/tactual);
 }

//Assume global.weights is a tensor of shape [2,1]. 

Когда я пытаюсь выполнить этот код в небольших редакторах, у меня нет проблем, однако, когда я пытаюсь выполнить через командную строку, я получаю ошибка:

TypeError: tlabels.pow(...).sum(...).sub(...).get is not a function
    at test (/home/runner/BasicFittingTests/index.js:7:48)
    at /home/runner/BasicFittingTests/index.js:20:8
    at Script.runInContext (vm.js:133:20)
    at Object.<anonymous> (/run_dir/interp.js:156:20)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
 

Любая помощь приветствуется. Спасибо.

1 Ответ

0 голосов
/ 09 апреля 2020

Чтобы загрузить тензорные данные из бэкэнда, можно использовать следующее

  • tf.data (и соответствующий син c tf.dataSync)

  • tf.array (и соответствующий синтаксис c tf.arraySync)

В любом случае данные будут загружены в виде массива. Таким образом, значение должно быть проиндексировано перед выполнением операции деления

...