Panduan Pemula untuk Pembelajaran Mendalam dalam PHP

王林
Lepaskan: 2023-06-11 10:54:01
asal
1312 orang telah melayarinya

Dalam beberapa tahun kebelakangan ini, perkembangan pesat teknologi pembelajaran mendalam telah memberi impak yang besar kepada banyak bidang. Sebagai bahasa pengaturcaraan yang popular, PHP juga disepadukan secara beransur-ansur dengan pembelajaran mendalam. Dalam artikel ini, kami akan menyediakan panduan pengenalan ringkas kepada pembelajaran mendalam dalam PHP kepada pemula untuk membantu mereka memahami cara pembelajaran mendalam dilaksanakan dalam PHP dan mendapat manfaat daripadanya.

Pertama, kita perlu memahami apa itu pembelajaran mendalam. Dalam bidang kecerdasan buatan, pembelajaran mendalam ialah teknologi pembelajaran mesin yang bertujuan untuk membolehkan komputer belajar dan melaksanakan tugasan sendiri, dan bukannya diprogramkan oleh manusia. Pembelajaran mendalam mewakili usaha manusia untuk mensimulasikan pemikiran dan tingkah laku manusia.

Untuk melaksanakan pembelajaran mendalam dalam PHP, kami memerlukan beberapa alatan dan perpustakaan penting. Berikut ialah beberapa alatan dan perpustakaan yang patut diberi perhatian:

  1. TensorFlow: Ia adalah perpustakaan pembelajaran mendalam yang sangat popular yang menyokong bahasa pengaturcaraan Python dan C++ Ia mempunyai dokumentasi terperinci dan contoh aplikasi, dan sesuai untuk mereka yang baru bermula sangat mesra pelajar.
  2. Keras: Keras ialah perpustakaan pembelajaran mendalam peringkat tinggi Ia merupakan antara muka kepada TensorFlow dan menyediakan API yang lebih mudah difahami.
  3. Theano: Theano ialah perpustakaan untuk mentakrif, mengoptimumkan dan menilai ungkapan matematik, sering digunakan dalam pengkomputeran berprestasi tinggi.

Untuk pembangun PHP, Keras ialah pilihan yang baik. Kita boleh menggunakan Keras untuk membina model pembelajaran mendalam.

Seterusnya kami akan menunjukkan cara menggunakan Keras dalam PHP untuk pembelajaran mendalam.

Pertama, kita perlu memasang Keras dalam persekitaran PHP. Kita boleh menggunakan Komposer untuk memasang pustaka Keras PHP daripada Packagist. Dalam baris arahan, masukkan arahan berikut:

composer require php-ai/php-ml
Salin selepas log masuk

Setelah pemasangan selesai, kita boleh mula membina model pembelajaran mendalam.

Di sini, kami akan menggunakan contoh untuk menunjukkan proses pembinaan model pembelajaran mendalam Kami ingin melatih model untuk pengecaman digital.

Pertama, kita perlu menyediakan data latihan. Kita boleh menggunakan set data MNIST, yang merupakan set data berangka yang sangat popular dan sudah disertakan dalam Keras.

use PhpmlDatasetMnistDataset;
$dataset = new MnistDataset();
$dataset->load();
Salin selepas log masuk

Seterusnya, kita perlu membahagikan data kepada data latihan dan data ujian.

use PhpmlCrossValidationStratifiedRandomSplit;
$sampler = new StratifiedRandomSplit($dataset->getSamples(), $dataset->getTargets(), 0.5);
Salin selepas log masuk

Dalam contoh ini, kami menggunakan StratifiedRandomSplit, iaitu kaedah pemisahan data dalam pustaka Phpml.

Seterusnya, kami akan membina model pembelajaran mendalam menggunakan Keras. Kami akan menggunakan model Sequential, iaitu model pembelajaran mendalam yang mudah.

use PhpmlNeuralNetworkLayerDense;
use PhpmlNeuralNetworkLayerFlatten;
use PhpmlNeuralNetworkLayerActivation;
use PhpmlNeuralNetworkLayerDropout;
use PhpmlNeuralNetworkClassifierKeras;
use PhpmlNeuralNetworkOptimizerAdam;
use PhpmlNeuralNetworkActivationFunctionSigmoid;

$model = new Sequential();

$model->add(new Flatten());
$model->add(new Dense(800, new Sigmoid()));
$model->add(new Dropout(0.2));
$model->add(new Dense(10, new Sigmoid()));
$model->add(new Activation('softmax'));

$optimizer = new Adam();
$model->compile($optimizer, 'categorical_crossentropy', ['accuracy']);
Salin selepas log masuk

Di sini kami mencipta model berjujukan dan menambah beberapa lapisan. Khususnya, kami menambah lapisan Rata, lapisan padat 800 nod, lapisan 20% Tercicir, lapisan padat 10 nod dan lapisan Pengaktifan dengan pengaktifan Softmax.

Seterusnya, kita perlu menyesuaikan model dengan data latihan.

$keras = new Keras([
    'input_shape' => [1, 28, 28],
    'output_shape' => [10],
    'loss' => 'categorical_crossentropy',
    'metrics' => ['accuracy'],
    'epochs' => 3,
    'batch_size' => 128,
]);

$keras->fit($sampler->getTrainSamples(), $sampler->getTrainLabels());
Salin selepas log masuk

Di sini, kami membuat instantiat objek Keras dan melatihnya selama 3 zaman dengan saiz kelompok 128.

Akhir sekali, kami boleh menggunakan set data ujian untuk menilai model kami.

$score = $keras->score($sampler->getTestSamples(), $sampler->getTestLabels());
echo 'Test Accuracy: ' . $score['accuracy'] . PHP_EOL;
Salin selepas log masuk

Di sini, kami menggunakan kaedah skor yang disediakan dalam Keras untuk menilai ketepatan set data ujian.

Ini ialah panduan pengenalan ringkas kepada pembelajaran mendalam dalam PHP. Kini, kami telah melihat cara membina model pembelajaran mendalam dalam PHP menggunakan Keras, serta cara melatih dan menilai model tersebut. Melalui contoh ini, kami berharap dapat membantu pemula lebih memahami dan menggunakan teknologi pembelajaran mendalam.

Atas ialah kandungan terperinci Panduan Pemula untuk Pembelajaran Mendalam dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan