Почему этот мозг. js предсказание html файл дает мне эту ошибку и как заставить этот скрипт работать? - PullRequest
0 голосов
/ 15 апреля 2020

Я создал скрипт, который выглядит так:

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.min.js"></script>
<script src="https://unpkg.com/brain.js@2.0.0-alpha.12/dist/brain.min.js"></script>
<script src="https://unpkg.com/brain.js@1.6.1/browser.min.js"></script>
y:<input type="number" id="y">
<input type="button" id="append" value="submit">
<div style="padding:50px">
    <canvas id="oChart" width="640" height="480"></canvas>
    <canvas id="pChart" width="640" height="480"></canvas>
</div>
<script>
ys=[]
pys=[]
ps=20
document.getElementById('y').value=0
oCTX=document.getElementById("oChart").getContext('2d')
pCTX=document.getElementById("pChart").getContext('2d')

document.getElementById('append').onclick=async()=>{
  //Metemos la y dentro del array:
  y=document.getElementById('y').value
  ys.push(y)

  //Definimos el modelo que sera de regresion lineal:
  net=new brain.recurrent.RNNTimeStep()

  // Entrenamos el modelo:
  //net.train([ys])

    // Chart original data:
  new Chart(oCTX, {
    type: 'line',
    options: {scales:{yAxes: [{ticks: {beginAtZero: true}}]}},
    data: {
      labels: Object.keys(ys),
      datasets: [{
        label: 'Original Data',
        data: ys,
        borderWidth: 1,
        borderColor: "gray"
      }]
    }
  })

  // Chart predicted data:
  grafica2=new Chart(pCTX, {
    type: 'line',
    options: {scales:{yAxes: [{ticks: {beginAtZero: true}}]}},
    data: {
      labels: Object.keys(pys),
      datasets: [{
        label: 'Predicted Data',
        data: pys,
        borderWidth: 1,
        borderColor: "gray"
      }]
    }
  })

  // Formamos un bucle para calcular la curva del valor futuro de la variable:
  pys=console.log('Forecast: ',net.forecast(ys,ps))
  // Actualizamos la gráfica:
  grafica2.update()
}
</script>

И это моя ошибка (было странно, потому что предыдущий скрипт не дал мне этой ошибки):

browser.min.js:216 Uncaught (in promise) TypeError: Cannot read property 'equations' of null
    at r.get (browser.min.js:216)
    at r.value [as forecast] (browser.min.js:213)
    at r.value (browser.min.js:213)
    at HTMLInputElement.document.getElementById.onclick (prediction10.htm:60)

И этот сценарий (С net .train):

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.min.js"></script>
<script src="https://unpkg.com/brain.js@2.0.0-alpha.12/dist/brain.min.js"></script>
<script src="https://unpkg.com/brain.js@1.6.1/browser.min.js"></script>
y:<input type="number" id="y">
<input type="button" id="append" value="submit">
<div style="padding:50px">
    <canvas id="oChart" width="640" height="480"></canvas>
    <canvas id="pChart" width="640" height="480"></canvas>
</div>
<script>
ys=[]
pys=[]
ps=20
document.getElementById('y').value=0
oCTX=document.getElementById("oChart").getContext('2d')
pCTX=document.getElementById("pChart").getContext('2d')

document.getElementById('append').onclick=async()=>{
  //Metemos la y dentro del array:
  y=document.getElementById('y').value
  ys.push(y)

  //Definimos el modelo que sera de regresion lineal:
  net=new brain.recurrent.RNNTimeStep()

  // Entrenamos el modelo:
  net.train([ys])

    // Chart original data:
  new Chart(oCTX, {
    type: 'line',
    options: {scales:{yAxes: [{ticks: {beginAtZero: true}}]}},
    data: {
      labels: Object.keys(ys),
      datasets: [{
        label: 'Original Data',
        data: ys,
        borderWidth: 1,
        borderColor: "gray"
      }]
    }
  })

  // Chart predicted data:
  grafica2=new Chart(pCTX, {
    type: 'line',
    options: {scales:{yAxes: [{ticks: {beginAtZero: true}}]}},
    data: {
      labels: Object.keys(pys),
      datasets: [{
        label: 'Predicted Data',
        data: pys,
        borderWidth: 1,
        borderColor: "gray"
      }]
    }
  })

  // Formamos un bucle para calcular la curva del valor futuro de la variable:
  pys=console.log('Forecast: ',net.forecast(ys,ps))
  // Actualizamos la gráfica:
  grafica2.update()
}
</script>

Дает мне эту ошибку:

browser.min.js:120 Uncaught (in promise) Error: unhandled signature
    at Function.value (browser.min.js:120)
    at r.value (browser.min.js:213)
    at r.value (browser.min.js:213)
    at HTMLInputElement.document.getElementById.onclick (prediction10.htm:27)

Я собираюсь создать сценарий прогнозирования, который вычислит массив массива массив, как это:

originalArray=[0,1,2,3,4,5]
predictedArray=[6,7,8,9,10,11,12]

Но эти ошибки странные и не допускаются для этих сценариев. Может кто-нибудь мне помочь? Спасибо за помощь в любом случае;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...