Bahkan setelah lebih dari seratus tahun setelah diperkenalkan, histologi tetap menjadi standar emas dalam diagnosis dan prognosis tumor. Ahli patologi anatomi mengevaluasi histologi untuk mengelompokkan pasien kanker ke dalam kelompok yang berbeda tergantung pada genotipe dan fenotipe tumor mereka, dan hasil klinis mereka [1,2]. Namun, evaluasi slide histologis manusia bersifat subyektif dan tidak dapat diulang [3]. Selain itu, penilaian histologis adalah proses yang memakan waktu yang membutuhkan profesional yang sangat terlatih.
Dengan kemajuan teknologi yang signifikan dalam dekade terakhir, teknik seperti whole slide imaging (WSI) dan deep learning (DL) kini tersedia secara luas. WSI adalah pemindaian slide kaca mikroskop konvensional untuk menghasilkan satu gambar beresolusi tinggi dari slide tersebut. Hal ini memungkinkan digitalisasi dan pengumpulan set besar gambar patologi, yang akan memakan waktu dan mahal. Ketersediaan kumpulan data tersebut menciptakan cara baru dan inovatif untuk mempercepat diagnosis dengan menggunakan teknik seperti pembelajaran mesin (ML) untuk membantu ahli patologi mempercepat diagnosis dengan mengidentifikasi fitur yang diminati secara cepat.
Dalam postingan ini, kita akan mengeksplorasi bagaimana developer tanpa pengalaman ML sebelumnya dapat menggunakan Label Kustom Amazon Rekognition untuk melatih model yang mengklasifikasikan fitur seluler. Label Kustom Pengakuan Amazon adalah fitur dari Rekognisi Amazon yang memungkinkan Anda membangun kemampuan analisis gambar berbasis ML khusus Anda sendiri untuk mendeteksi objek dan pemandangan unik yang terintegrasi dengan kasus penggunaan khusus Anda. Secara khusus, kami menggunakan dataset yang berisi seluruh gambar slide karsinoma mammae anjing [1] untuk mendemonstrasikan cara memproses gambar ini dan melatih model yang mendeteksi gambar mitosis. Kumpulan data ini telah digunakan dengan izin dari Prof. Dr. Marc Aubreville, yang telah berbaik hati setuju untuk mengizinkan kami menggunakannya untuk posting ini. Untuk informasi lebih lanjut, lihat bagian Ucapan Terima Kasih di akhir posting ini.
Ikhtisar Solusi
Solusinya terdiri dari dua komponen:
- Model Label Kustom Pengakuan Amazon — Untuk mengaktifkan Amazon Rekognition untuk mendeteksi angka mitosis, kami menyelesaikan langkah-langkah berikut:
- Contoh dataset WSI untuk menghasilkan gambar berukuran memadai menggunakan Studio Amazon SageMaker dan kode Python yang berjalan di notebook Jupyter. Studio adalah lingkungan pengembangan terintegrasi (IDE) berbasis web untuk ML yang menyediakan semua alat yang Anda perlukan untuk membawa model Anda dari eksperimen ke produksi sambil meningkatkan produktivitas Anda. Kami akan menggunakan Studio untuk membagi gambar menjadi lebih kecil untuk melatih model kami.
- Latih model Amazon Rekognition Custom Labels untuk mengenali figur mitosis dalam sampel hematoxylin-eosin menggunakan data yang disiapkan pada langkah sebelumnya.
- Sebuah aplikasi frontend — Untuk mendemonstrasikan cara menggunakan model seperti yang kami latih pada langkah sebelumnya, kami menyelesaikan langkah-langkah berikut:
Diagram berikut menggambarkan arsitektur solusi.
Semua sumber daya yang diperlukan untuk menyebarkan implementasi yang dibahas dalam posting ini dan kode untuk seluruh bagian tersedia GitHub. Anda dapat mengkloning atau mem-fork repositori, membuat perubahan apa pun yang Anda inginkan, dan menjalankannya sendiri.
Pada langkah selanjutnya, kita menelusuri kode untuk memahami berbagai langkah yang terlibat dalam mendapatkan dan menyiapkan data, melatih model, dan menggunakannya dari aplikasi sampel.
Biaya
Saat menjalankan langkah-langkah dalam panduan ini, Anda mengeluarkan sedikit biaya dari penggunaan layanan AWS berikut:
- Rekognisi Amazon
- Fargate AWS
- Penyeimbang Beban Aplikasi
- Manajer Rahasia AWS
Selain itu, jika tidak lagi dalam periode atau ketentuan Tingkat Gratis, Anda mungkin dikenai biaya dari layanan berikut:
- KodePipeline
- Pembuatan Kode
- ECR Amazon
- Amazon SageMaker
Jika Anda menyelesaikan langkah-langkah pembersihan dengan benar setelah menyelesaikan panduan ini, Anda mungkin mengharapkan biaya kurang dari 10 USD, jika model Amazon Rekognition Custom Labels dan aplikasi web berjalan selama satu jam atau kurang.
Prasyarat
Untuk menyelesaikan semua langkah, Anda memerlukan yang berikut ini:
Melatih model klasifikasi figur mitosis
Kami menjalankan semua langkah yang diperlukan untuk melatih model dari notebook Studio. Jika Anda belum pernah menggunakan Studio sebelumnya, Anda mungkin perlu melakukannya di atas kapal Pertama. Untuk informasi lebih lanjut, lihat Onboard dengan Cepat ke Amazon SageMaker Studio.
Beberapa langkah berikut memerlukan lebih banyak RAM daripada yang tersedia di notebook ml.t3.medium standar. Pastikan Anda telah memilih notebook ml.m5.large. Anda akan melihat indikasi 2 vCPU + 8 GiB di sudut kanan atas halaman.
Kode untuk bagian ini tersedia sebagai a File notebook Jupyter.
Setelah masuk ke Studio, ikuti petunjuk ini untuk memberi Studio izin yang diperlukan untuk memanggil Amazon Rekognition atas nama Anda.
Dependensi
Untuk memulainya, kita perlu menyelesaikan langkah-langkah berikut:
- Perbarui paket Linux dan instal dependensi yang diperlukan, seperti OpenSlide:
- Instal pustaka fastai dan SlideRunner menggunakan pip:
- Unduh dataset (kami menyediakan skrip untuk melakukannya secara otomatis):
Memproses kumpulan data
Kami akan mulai dengan mengimpor beberapa paket yang kami gunakan selama tahap persiapan data. Kemudian, kami mengunduh dan memuat basis data anotasi untuk kumpulan data ini. Basis data ini berisi posisi di seluruh gambar slide dari figur mitosis (fitur yang ingin kami klasifikasikan). Lihat kode berikut:
Karena kami menggunakan SageMaker, kami membuat SageMaker baru Sidang keberatan untuk memudahkan tugas seperti mengunggah dataset kami ke Layanan Penyimpanan Sederhana Amazon (Amazon S3) ember. Kami juga menggunakan bucket S3 yang dibuat SageMaker secara default untuk mengunggah file gambar yang telah diproses.
Grafik slidelist_test
array berisi ID slide yang kami gunakan sebagai bagian dari kumpulan data pengujian untuk mengevaluasi kinerja model yang dilatih. Lihat kode berikut:
Langkah selanjutnya adalah mendapatkan sekumpulan area slide pelatihan dan pengujian, bersama dengan label di dalamnya, dari situ kita dapat mengambil area yang lebih kecil untuk digunakan melatih model kita. Kode untuk get_slides ada di file sampling.py di GitHub.
Kami ingin mengambil sampel secara acak dari slide pelatihan dan pengujian. Kami menggunakan daftar slide pelatihan dan tes dan memilih secara acak n_training_images
kali file untuk pelatihan, dan n_test_images
kali file untuk pengujian:
Selanjutnya, kami membuat direktori untuk gambar pelatihan dan satu untuk gambar uji:
Sebelum kami menghasilkan gambar yang lebih kecil yang diperlukan untuk melatih model, kami memerlukan beberapa kode pembantu yang menghasilkan metadata yang diperlukan untuk mendeskripsikan data pelatihan dan pengujian. Kode berikut memastikan bahwa kotak pembatas yang diberikan di sekitar fitur yang menarik (angka mitosis) berada di dalam zona yang kita potong, dan menghasilkan garis JSON yang mendeskripsikan gambar dan fitur di dalamnya. Kebenaran Dasar Amazon SageMaker format, yang merupakan format Amazon Rekognition Custom Labels yang diperlukan. Untuk informasi selengkapnya tentang file manifes ini untuk deteksi objek, lihat Lokalisasi objek dalam file manifes.
Dengan generate_annotations
berfungsi, kita dapat menulis kode untuk menghasilkan gambar pelatihan dan pengujian:
Langkah terakhir untuk memiliki semua data yang diperlukan adalah menulis a manifest.json
file untuk masing-masing dataset:
Transfer file ke S3
Kami menggunakan upload_data
metode yang diekspos objek sesi SageMaker untuk mengunggah gambar dan file manifes ke bucket SageMaker S3 default:
Latih model Label Kustom Amazon Rekognition
Dengan data yang sudah ada di Amazon S3, kita bisa melatih model kustom. Kami menggunakan pustaka Boto3 untuk membuat klien Amazon Rekognition dan membuat proyek:
Dengan proyek yang siap digunakan, sekarang Anda memerlukan versi proyek yang mengarah ke kumpulan data pelatihan dan pengujian di Amazon S3. Setiap versi idealnya menunjuk ke kumpulan data yang berbeda (atau versi yang berbeda). Ini memungkinkan kami untuk memiliki versi model yang berbeda, membandingkan kinerjanya, dan beralih di antara versi tersebut sesuai kebutuhan. Lihat kode berikut:
Setelah kami membuat versi proyek, Amazon Rekognition secara otomatis memulai proses pelatihan. Waktu pelatihan bergantung pada beberapa fitur, seperti ukuran gambar dan jumlahnya, jumlah kelas, dan sebagainya. Dalam hal ini, untuk 500 gambar, pelatihan membutuhkan waktu sekitar 90 menit untuk menyelesaikannya.
Uji modelnya
Setelah pelatihan, setiap model di Amazon Rekognition Custom Labels berada di STOPPED
negara. Untuk menggunakannya sebagai inferensi, Anda harus memulainya. Kami mendapatkan ARN versi proyek dari deskripsi versi proyek dan meneruskannya ke start_project_version
. Perhatikan MinInferenceUnits
parameter — kita mulai dengan satu unit inferensi. Jumlah maksimum transaksi per detik (TPS) aktual yang didukung unit inferensi ini bergantung pada kompleksitas model Anda. Untuk mempelajari lebih lanjut tentang TPS, lihat ini posting blog.
Ketika versi proyek Anda terdaftar sebagai RUNNING
, Anda dapat mulai mengirimkan gambar ke Amazon Rekognition untuk inferensi.
Kami menggunakan salah satu file dalam kumpulan data uji untuk menguji model yang baru dimulai. Anda dapat menggunakan file PNG atau JPEG yang sesuai sebagai gantinya.
Aplikasi streamlit
Untuk mendemonstrasikan integrasi dengan Amazon Rekognition, kami menggunakan aplikasi Python yang sangat sederhana. Kami menggunakan merampingkan perpustakaan untuk membangun antarmuka pengguna yang sederhana, tempat kami meminta pengguna untuk mengunggah file gambar.
Kami menggunakan perpustakaan Boto3 dan detect_custom_labels
metode, bersama dengan ARN versi proyek, untuk memanggil titik akhir inferensi. Responsnya adalah dokumen JSON yang berisi posisi dan kelas dari berbagai objek yang terdeteksi di gambar. Dalam kasus kami, ini adalah angka mitosis yang ditemukan algoritme pada gambar yang kami kirim ke titik akhir. Lihat kode berikut:
Terapkan aplikasi ke AWS
Untuk menerapkan aplikasi, kami menggunakan skrip AWS CDK. Seluruh proyek dapat ditemukan di GitHub . Mari kita lihat berbagai sumber daya yang digunakan oleh skrip.
Buat repositori Amazon ECR
Sebagai langkah pertama untuk menyiapkan penerapan kami, kami membuat repositori Amazon ECR, tempat kami dapat menyimpan gambar kontainer aplikasi kami:
Buat dan simpan token GitHub Anda di AWS Secrets Manager
CodePipeline memerlukan Token Akses Pribadi GitHub untuk memantau repositori GitHub Anda untuk perubahan dan menarik kode. Untuk membuat token, ikuti petunjuk di dokumentasi GitHub. Token membutuhkan cakupan GitHub berikut:
- Grafik
repo
lingkup, yang digunakan untuk kontrol penuh untuk membaca dan menarik artefak dari repositori publik dan swasta ke dalam pipa. - Grafik
admin:repo_hook
lingkup, yang digunakan untuk kontrol penuh dari kait repositori.
Setelah membuat token, simpan di rahasia baru di Manajer Rahasia AWS sebagai berikut:
Tulis parameter konfigurasi ke Penyimpanan Parameter AWS Systems Manager
Skrip AWS CDK membaca beberapa parameter konfigurasi dari Penyimpanan Parameter Manajer Sistem AWS, seperti nama dan pemilik repositori GitHub, serta akun target dan Wilayah. Sebelum meluncurkan skrip AWS CDK, Anda perlu membuat parameter ini di akun Anda sendiri.
Anda dapat melakukannya dengan menggunakan AWS CLI. Cukup aktifkan put-parameter
perintah dengan nama, nilai, dan tipe parameter:
Berikut adalah daftar semua parameter yang diperlukan oleh skrip AWS CDK. Semuanya adalah tipe String
:
- /rek_wsi/prod/accountId — ID akun tempat kami menerapkan aplikasi.
- /rek_wsi/prod/ecr_repo_name — Nama repositori Amazon ECR tempat gambar kontainer disimpan.
- /rek_wsi/prod/github/branch — Cabang di repositori GitHub tempat CodePipeline perlu menarik kode.
- /rek_wsi/prod/github/owner — Pemilik repositori GitHub.
- /rek_wsi/prod/github/repo — Nama repositori GitHub tempat kode kita disimpan.
- /rek_wsi/prod/github/token — Nama atau ARN rahasia di Secrets Manager yang berisi token autentikasi GitHub Anda. Ini diperlukan agar CodePipeline dapat berkomunikasi dengan GitHub.
- /rek_wsi/prod/region — Wilayah tempat kami akan menerapkan aplikasi.
Perhatikan prod
segmen di semua nama parameter. Meskipun kami tidak memerlukan tingkat detail ini untuk contoh sederhana seperti itu, ini akan memungkinkan untuk menggunakan kembali pendekatan ini dengan proyek lain di mana lingkungan yang berbeda mungkin diperlukan.
Sumber daya yang dibuat oleh skrip AWS CDK
Kami membutuhkan aplikasi kami, yang berjalan dalam tugas Fargate, untuk memiliki izin untuk memanggil Amazon Rekognition. Jadi pertama-tama kita membuat sebuah Identitas AWS dan Manajemen Akses (IAM) Peran Tugas dengan RekognitionReadOnlyPolicy
kebijakan yang melekat padanya. Perhatikan bahwa assumed_by
parameter dalam kode berikut mengambil ecs-tasks.amazonaws.com
kepala layanan. Ini karena kami menggunakan Amazon ECS sebagai orkestra, jadi kami membutuhkan Amazon ECS untuk mengambil peran dan meneruskan kredensial ke tugas Fargate.
Setelah dibuat, image container aplikasi kami berada di repositori Amazon ECR pribadi. Kami membutuhkan objek yang menggambarkannya yang dapat kami lewati saat membuat layanan Fargate:
Kami membuat VPC dan cluster baru untuk aplikasi ini. Anda dapat memodifikasi bagian ini untuk menggunakan VPC Anda sendiri dengan menggunakan from_lookup
metode dari Vpc
kelas:
Sekarang kami memiliki VPC dan klaster untuk diterapkan, kami membuat layanan Fargate. Kami menggunakan 0.25 vCPU dan 512 MB RAM untuk tugas ini, dan kami menempatkan Application Load Balancer (ALB) publik di depannya. Setelah diterapkan, kami menggunakan ALB CNAME untuk mengakses aplikasi. Lihat kode berikut:
Untuk mem-build dan men-deploy image container baru secara otomatis setiap kali kami mendorong kode ke cabang utama, kami membuat pipeline sederhana yang terdiri dari tindakan sumber GitHub dan langkah build. Di sinilah kami menggunakan rahasia yang kami simpan di AWS Secrets Manager dan Penyimpanan Parameter AWS Systems Manager di langkah sebelumnya.
CodeBuild memerlukan izin untuk mendorong citra kontainer ke Amazon ECR. Untuk memberikan izin ini, kami menambahkan AmazonEC2ContainerRegistryFullAccess
kebijakan untuk peran IAM dipesan lebih dahulu yang dapat diambil oleh prinsipal layanan CodeBuild:
Proyek CodeBuild masuk ke repositori pribadi Amazon ECR, membangun image Docker dengan aplikasi Streamlit, dan mendorong image ke dalam repositori bersama dengan appspec.yaml
dan imagedefinitions.json
file.
Grafik appspec.yaml
file menjelaskan tugas (port, versi platform Fargate, dan seterusnya), sedangkan file imagedefinitions.json
file memetakan nama gambar kontainer ke URI Amazon ECR yang sesuai. Lihat kode berikut:
Akhirnya, kami menggabungkan tahapan pipa yang berbeda. Tindakan terakhir adalah EcsDeployAction
, yang mengambil image container yang dibangun pada tahap sebelumnya dan melakukan pembaruan tugas secara bergilir di klaster ECS kami:
Membersihkan
Untuk menghindari timbulnya biaya di masa mendatang, bersihkan sumber daya yang Anda buat sebagai bagian dari solusi ini.
Model Label Kustom Pengakuan Amazon
Sebelum mematikan notebook Studio, pastikan Anda menghentikan model Amazon Rekognition Custom Labels. Jika tidak, itu terus menimbulkan biaya.
Sebagai alternatif, Anda dapat menggunakan konsol Amazon Rekognition untuk menghentikan layanan:
- Di konsol Amazon Rekognition, pilih Gunakan Label Kustom di panel navigasi.
- Pilih Proyek di panel navigasi.
- Pilih versi 1 dari
rek-mitotic-figures-workshop
proyek. - pada Gunakan Model tab, pilih berhenti.
Aplikasi streamlit
Untuk memusnahkan semua sumber daya yang terkait dengan aplikasi Streamlit, jalankan kode berikut dari direktori aplikasi AWS CDK:
Manajer Rahasia AWS
Untuk menghapus token GitHub, ikuti petunjuk di dokumentasi.
Kesimpulan
Dalam postingan ini, kami membahas langkah-langkah yang diperlukan untuk melatih model Amazon Rekognition Custom Labels untuk aplikasi patologi digital menggunakan data dunia nyata. Kami kemudian mempelajari cara menggunakan model dari aplikasi sederhana yang diterapkan dari pipeline CI/CD ke Fargate.
Amazon Rekognition Custom Labels memungkinkan Anda membangun aplikasi perawatan kesehatan berkemampuan ML yang dapat Anda bangun dan terapkan dengan mudah menggunakan layanan seperti Fargate, CodeBuild, dan CodePipeline.
Dapatkah Anda memikirkan aplikasi untuk membantu peneliti, dokter, atau pasien mereka untuk membuat hidup mereka lebih mudah? Jika demikian, gunakan kode dalam panduan ini untuk membangun aplikasi Anda selanjutnya. Dan jika Anda memiliki pertanyaan, silakan bagikan di bagian komentar.
Ucapan Terima Kasih
Kami ingin berterima kasih kepada Prof. Dr. Marc Aubreville karena telah memberikan izin kepada kami untuk menggunakan kumpulan data MITOS_WSI_CMC untuk entri blog ini. Dataset dapat ditemukan di GitHub.
Referensi
[1] Aubreville, M., Bertram, CA, Donovan, TA dkk. Seluruh kumpulan data gambar slide kanker payudara anjing yang dianotasi sepenuhnya untuk membantu penelitian kanker payudara manusia. Sci Data 7, 417 (2020). https://doi.org/10.1038/s41597-020-00756-z
[2] Khened, M., Kori, A., Rajkumar, H. et al. Kerangka pembelajaran mendalam umum untuk segmentasi dan analisis gambar seluruh slide. Sci Rep 11, 11579 (2021). https://doi.org/10.1038/s41598-021-90444-8
[3] PNAS 27 Maret 2018 115 (13) E2970-E2979; pertama kali diterbitkan 12 Maret 2018; https://doi.org/10.1073/pnas.1717139115
tentang Penulis
Pablo Nuñez Pölcher, MSc, adalah Arsitek Solusi Senior yang bekerja untuk tim Sektor Publik dengan Amazon Web Services. Pablo berfokus untuk membantu pelanggan sektor kesehatan publik membangun produk baru dan inovatif di AWS sesuai dengan praktik terbaik. Ia menerima gelar M.Sc. dalam Ilmu Biologi dari Universidad de Buenos Aires. Di waktu luangnya, dia menikmati bersepeda dan mengutak-atik perangkat tertanam yang mendukung ML.
Razvan Ionasec, PhD, MBA, adalah pemimpin teknis untuk layanan kesehatan di Amazon Web Services di Eropa, Timur Tengah, dan Afrika. Karyanya berfokus pada membantu pelanggan perawatan kesehatan memecahkan masalah bisnis dengan memanfaatkan teknologi. Sebelumnya, Razvan adalah kepala global produk kecerdasan buatan (AI) di Siemens Healthineers yang bertanggung jawab atas AI-Rad Companion, keluarga solusi kesehatan digital berbasis AI dan cloud untuk pencitraan. Dia memegang 30+ paten dalam AI/ML untuk pencitraan medis dan telah menerbitkan 70+ publikasi teknis dan klinis peer-review internasional tentang visi komputer, pemodelan komputasi, dan analisis citra medis. Razvan menerima gelar PhD di bidang Ilmu Komputer dari Technical University Munich dan MBA dari University of Cambridge, Judge Business School.
- '
- "
- &
- 100
- 11
- 110
- 2020
- 2021
- 7
- Tentang Kami
- mempercepat
- mengakses
- Akun
- Tindakan
- Afrika
- AI
- algoritma
- Semua
- sudah
- Meskipun
- Amazon
- Rekognisi Amazon
- Amazon SageMaker
- Amazon Web Services
- analisis
- Aplikasi
- aplikasi
- APT
- arsitektur
- buatan
- kecerdasan buatan
- Kecerdasan buatan (AI)
- Aktiva
- Otentikasi
- tersedianya
- tersedia
- AWS
- ayunan
- TERBAIK
- Praktik Terbaik
- Blog
- meningkatkan
- Kotak
- Kanker payudara
- membangun
- bisnis
- panggilan
- cambridge
- Bisa Dapatkan
- Kanker
- penelitian kanker
- biaya
- klasifikasi
- kode
- koleksi
- komentar
- Komputer Ilmu
- Visi Komputer
- kepercayaan
- konfigurasi
- konsul
- Wadah
- Wadah
- mengandung
- terus
- Biaya
- membuat
- Surat kepercayaan
- pelanggan
- data
- Basis Data
- database
- belajar mendalam
- menghancurkan
- rinci
- Deteksi
- pengembang
- Pengembangan
- Devices
- berbeda
- digital
- Kesehatan Digital
- digitalisasi
- Buruh pelabuhan
- dokter
- turun
- mudah
- gema
- Titik akhir
- Lingkungan Hidup
- Eropa
- contoh
- pengalaman
- ekspor
- keluarga
- Fitur
- Fitur
- Angka
- Pertama
- mengikuti
- garpu
- format
- ditemukan
- Kerangka
- Gratis
- penuh
- fungsi
- masa depan
- menghasilkan
- geometri
- GitHub
- Pemberian
- Aksi
- Gold
- memberikan
- beasiswa
- memiliki
- kepala
- Kesehatan
- kesehatan
- membantu
- di sini
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTTPS
- IAM
- identitas
- gambar
- analisis gambar
- segmentasi gambar
- Pencitraan
- pengimporan
- informasi
- inovatif
- integral
- integrasi
- Intelijen
- bunga
- Internasional
- terlibat
- IT
- Notebook Jupyter
- Label
- besar
- Terbaru
- peluncuran
- BELAJAR
- belajar
- pengetahuan
- Tingkat
- Perpustakaan
- baris
- linux
- Daftar
- daftar
- memuat
- Lokalisasi
- Mesin belajar
- Peta
- March
- medis
- pencitraan medis
- medium
- Timur Tengah
- ML
- model
- pemodelan
- model
- lebih
- Munich
- nama
- Navigasi
- dibutuhkan
- Deteksi Objek
- Onboarding
- Lainnya
- pemilik
- Paten
- patologi
- pasien
- prestasi
- pribadi
- Platform
- kebijaksanaan
- Utama
- swasta
- proses
- Produksi
- produktifitas
- Produk
- profesional
- proyek
- memprojeksikan
- memberikan
- menyediakan
- publik
- sektor publik
- publikasi
- Ular sanca
- RAM
- penelitian
- Sumber
- tanggapan
- Run
- berjalan
- pembuat bijak
- pemindaian
- Sekolah
- Ilmu
- ILMU PENGETAHUAN
- sektor
- terpilih
- Layanan
- set
- pengaturan
- Share
- Siemens
- penting
- Sederhana
- Ukuran
- kecil
- So
- Solusi
- MEMECAHKAN
- Space
- khusus
- membagi
- Tahap
- awal
- mulai
- Negara
- Status
- penyimpanan
- menyimpan
- studio
- Mendukung
- Beralih
- sistem
- target
- Teknis
- teknik
- Teknologi
- uji
- Sumber
- Melalui
- waktu
- membuang-buang waktu
- bersama
- token
- alat
- puncak
- Pelatihan
- Transaksi
- unik
- universitas
- Universitas Cambridge
- Memperbarui
- URI
- us
- USD
- nilai
- versi
- penglihatan
- W
- jaringan
- layanan web
- berbasis web
- Apa
- Apa itu
- SIAPA
- sangat
- dalam
- tanpa
- Kerja
- kerja
- akan
- penulisan
- X
- tahun
- Youtube