Menginstal model pembelajaran mesin yang telah dilatih sebelumnya di SQL Server
Berlaku untuk: SQL Server 2016 (13.x), SQL Server 2017 (14.x), dan SQL Server 2019 (15.x)
Artikel ini berlaku untuk SQL Server 2016 (13.x), SQL Server 2017 (14.x), dan SQL Server 2019 (15.x).
Artikel ini menjelaskan cara menggunakan PowerShell untuk menambahkan model pembelajaran mesin gratis yang telah dilatih sebelumnya untuk analisis sentimen dan fiturisasi gambar ke instans SQL Server yang memiliki integrasi R atau Python. Model yang telah dilatih dibuat oleh Microsoft dan siap digunakan, ditambahkan ke instans sebagai tugas pasca-instal. Untuk informasi selengkapnya tentang model ini, lihat bagian Sumber Daya di artikel ini.
Dimulai dengan SQL Server 2022 (16.x), runtime untuk R, Python, dan Java, tidak lagi diinstal dengan Penyiapan SQL. Sebagai gantinya, instal runtime dan paket kustom R dan/atau Python yang Anda inginkan. Untuk informasi selengkapnya, lihat Menginstal SQL Server 2022 Pembelajaran Mesin Services (Python dan R) di Windows.
Setelah diinstal, model yang telah dilatih dianggap sebagai detail implementasi yang mendukung fungsi tertentu di pustaka MicrosoftML (R) dan microsoftml (Python). Anda tidak boleh (dan tidak dapat) melihat, menyesuaikan, atau melatih kembali model, Anda juga tidak dapat memperlakukannya sebagai sumber daya independen dalam kode kustom atau memasangkan fungsi lain.
Untuk menggunakan model yang telah dilatih sebelumnya, panggil fungsi yang tercantum dalam tabel berikut.
Fungsi R (MicrosoftML) | Fungsi Python (microsoftml) | Penggunaan |
---|---|---|
getSentiment | get_sentiment | Menghasilkan skor sentimen positif-negatif atas input teks. |
featurizeImage | featurize_image | Mengekstrak informasi teks dari input file gambar. |
Prasyarat
Algoritma pembelajaran mesin secara komputasi intensif. Kami merekomendasikan RAM 16 GB untuk beban kerja rendah hingga sedang, termasuk penyelesaian panduan tutorial menggunakan semua data sampel.
Anda harus memiliki hak administrator di komputer dan SQL Server untuk menambahkan model yang telah dilatih sebelumnya.
Skrip eksternal harus diaktifkan dan layanan LaunchPad SQL Server harus berjalan. Instruksi penginstalan menyediakan langkah-langkah untuk mengaktifkan dan memverifikasi kemampuan ini.
Unduh dan instal pembaruan kumulatif terbaru untuk versi SQL Server Anda. Lihat Pembaruan terbaru untuk Microsoft SQL Server.
Paket MicrosoftML R atau paket microsoftml Python berisi model yang telah dilatih sebelumnya.
Layanan Pembelajaran Mesin SQL Server mencakup kedua versi bahasa pustaka pembelajaran mesin, sehingga prasyarat ini terpenuhi tanpa tindakan lebih lanjut di bagian Anda. Karena pustaka ada, Anda bisa menggunakan skrip PowerShell yang dijelaskan dalam artikel ini untuk menambahkan model yang telah dilatih sebelumnya ke pustaka ini.
Paket MicrosoftML R berisi model yang telah dilatih sebelumnya.
Layanan R SQL Server, yang hanya R, tidak menyertakan paket MicrosoftML di luar kotak. Untuk menambahkan MicrosoftML, Anda harus melakukan peningkatan komponen. Salah satu keuntungan dari peningkatan komponen adalah Anda dapat secara bersamaan menambahkan model yang telah dilatih sebelumnya, yang membuat menjalankan skrip PowerShell tidak perlu. Namun, jika Anda sudah memutakhirkan tetapi melewatkan penambahan model yang telah dilatih sebelumnya untuk pertama kalinya, Anda dapat menjalankan skrip PowerShell seperti yang dijelaskan dalam artikel ini. Ini berfungsi untuk kedua versi SQL Server. Sebelum Anda melakukannya, konfirmasikan bahwa pustaka MicrosoftML ada di C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\library
.
Periksa apakah model yang telah dilatih telah diinstal
Jalur penginstalan untuk model R dan Python adalah sebagai berikut:
Untuk R:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\library\MicrosoftML\mxLibs\x64
Untuk Python:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\Lib\site-packages\microsoftml\mxLibs
Nama file model ada dalam daftar berikut:
AlexNet_Updated.model
ImageNet1K_mean.xml
pretrained.model
ResNet_101_Updated.model
ResNet_18_Updated.model
ResNet_50_Updated.model
Jika model sudah diinstal, lewati ke langkah validasi untuk mengonfirmasi ketersediaan.
Mengunduh skrip penginstalan
Kunjungi https://aka.ms/mlm4sql untuk mengunduh file Install-MLModels.ps1. Pada halaman GitHub, pilih Unduh file mentah.
Jalankan dengan hak istimewa yang ditingkatkan
Mulai PowerShell. Pada bilah tugas, klik kanan ikon program PowerShell dan pilih Jalankan sebagai administrator.
Kebijakan eksekusi yang direkomendasikan selama penginstalan adalah "RemoteSigned". Untuk mengetahui informasi selengkapnya tentang pengaturan kebijakan eksekusi PowerShell, lihat Set-ExecutionPolicy. Contohnya:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Masukkan jalur yang sepenuhnya memenuhi syarat ke file skrip penginstalan dan sertakan nama instans. Dengan asumsi folder Unduhan dan instans default, perintah mungkin terlihat seperti ini:
PS C:\WINDOWS\system32> C:\Users\<user-name>\Downloads\Install-MLModels.ps1 MSSQLSERVER
Hasil
Pada instans default SQL Server Pembelajaran Mesin Services yang terhubung ke internet dengan R dan Python, Anda akan melihat pesan yang mirip dengan yang berikut ini.
MSSQL14.MSSQLSERVER
Verifying R models [9.2.0.24]
Downloading R models [C:\Users\<user-name>\AppData\Local\Temp]
Installing R models [C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\]
Verifying Python models [9.2.0.24]
Installing Python models [C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\]
PS C:\WINDOWS\system32>
Verifikasi penginstalan
Pertama, periksa file baru di folder mxlibs. Selanjutnya, jalankan kode demo untuk mengonfirmasi model diinstal dan fungsional.
Langkah-langkah verifikasi R
Mulai RGUI.EXE di
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64
.Tempelkan skrip R berikut ini di prompt perintah.
# Create the data CustomerReviews <- data.frame(Review = c( "I really did not like the taste of it", "It was surprisingly quite good!", "I will never ever ever go to that place again!!"), stringsAsFactors = FALSE) # Get the sentiment scores sentimentScores <- rxFeaturize(data = CustomerReviews, mlTransforms = getSentiment(vars = list(SentimentScore = "Review"))) # Let's translate the score to something more meaningful sentimentScores$PredictedRating <- ifelse(sentimentScores$SentimentScore > 0.6, "AWESOMENESS", "BLAH") # Let's look at the results sentimentScores
Tekan Enter untuk melihat skor sentimen. Output harus sebagai berikut:
> sentimentScores Review SentimentScore 1 I really did not like the taste of it 0.4617899 2 It was surprisingly quite good! 0.9601924 3 I will never ever ever go to that place again!! 0.3103435 PredictedRating 1 BLAH 2 AWESOMENESS 3 BLAH
Langkah-langkah verifikasi Python
Mulai Python.exe di
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES
.Tempelkan skrip Python berikut ini di prompt perintah.
import numpy import pandas from microsoftml import rx_logistic_regression, rx_featurize, rx_predict, get_sentiment # Create the data customer_reviews = pandas.DataFrame(data=dict(review=[ "I really did not like the taste of it", "It was surprisingly quite good!", "I will never ever ever go to that place again!!"])) # Get the sentiment scores sentiment_scores = rx_featurize( data=customer_reviews, ml_transforms=[get_sentiment(cols=dict(scores="review"))]) # Let's translate the score to something more meaningful sentiment_scores["eval"] = sentiment_scores.scores.apply( lambda score: "AWESOMENESS" if score > 0.6 else "BLAH") print(sentiment_scores)
Tekan Enter untuk mencetak skor. Output harus sebagai berikut:
>>> print(sentiment_scores) review scores eval 0 I really did not like the taste of it 0.461790 BLAH 1 It was surprisingly quite good! 0.960192 AWESOMENESS 2 I will never ever ever go to that place again!! 0.310344 BLAH >>>
Catatan
Jika skrip demo gagal, periksa lokasi file terlebih dahulu. Pada sistem yang memiliki beberapa instans SQL Server, atau misalnya yang berjalan berdampingan dengan versi mandiri, skrip penginstalan mungkin salah membaca lingkungan dan menempatkan file di lokasi yang salah. Biasanya, menyalin file secara manual ke folder mxlib yang benar memperbaiki masalah.
Contoh menggunakan model yang telah dilatih sebelumnya
Tautan berikut mencakup contoh kode yang memanggil model yang telah dilatih sebelumnya.
Penelitian dan sumber daya
Saat ini model yang tersedia adalah model jaringan neural mendalam (DNN) untuk analisis sentimen dan klasifikasi gambar. Semua model yang telah dilatih sebelumnya dilatih dengan menggunakan Computation Network Toolkit (CNTK) Microsoft.
Konfigurasi setiap jaringan didasarkan pada implementasi referensi berikut:
ResNet-18
ResNet-50
ResNet-101
AlexNet
Untuk informasi selengkapnya tentang algoritma yang digunakan dalam model pembelajaran mendalam ini, dan bagaimana algoritma tersebut diimplementasikan dan dilatih menggunakan CNTK, lihat artikel berikut: