วิธีการติดตั้งและใช้ Apache PredictionIO สำหรับการเรียนรู้ของเครื่องบน CentOS 7

วิธีการดั้งเดิมในการวิเคราะห์ข้อมูลเป็นไปไม่ได้ที่จะใช้เมื่อชุดข้อมูลมีขนาดที่แน่นอน ทางเลือกที่ทันสมัยในการวิเคราะห์ชุดข้อมูลขนาดใหญ่คือการใช้วิธีการเรียนรู้ของเครื่อง การเรียนร���้ของเครื่องสามารถให้ผลลัพธ์ที่แม่นยำเมื่อใช้อัลกอริทึมที่รวดเร็วและมีประสิทธิภาพ

Apache PredictionIO เป็นเซิร์ฟเวอร์การเรียนรู้แบบโอเพ่นซอร์สที่ใช้ในการสร้างเอ็นจิ้นการทำนายสำหรับงานการเรียนรู้ของเครื่อง มันลดเวลาของแอปพลิเคชันการเรียนรู้ของเครื่องจักรจากห้องปฏิบัติการไปยังการผลิตโดยใช้เทมเพลตของเครื่องยนต์ที่ปรับแต่งได้ซึ่งสามารถสร้างและปรับใช้ได้อย่างรวดเร็ว มันมีการเก็บรวบรวมข้อมูลและการให้บริการส่วนประกอบและเทคโนโลยีพื้นฐานบทคัดย่อเพื่อเปิดเผย API ที่ช่วยให้นักพัฒนาสามารถมุ่งเน้นไปที่องค์ประกอบการแปลง เมื่อเอ็นจิ้นเซิร์ฟเวอร์ของ PredictionIO ถูกปรับใช้เป็นเว็บเซอร์วิสก็สามารถตอบสนองต่อการสืบค้นแบบไดนามิกในแบบเรียลไทม์

Apache PredictionIO ประกอบด้วยส่วนประกอบต่าง ๆ

  • แพลตฟอร์ม PredictionIO : การเรียนรู้ของเครื่องโอเพ่นซอร์สที่สร้างขึ้นบนสุดของแอพพลิเคชั่นโอเพ่นซอร์สที่ล้ำสมัยเช่น Apache Spark, Apache Hadoop, Apache HBase และ Elasticsearch
  • เซิร์ฟเวอร์เหตุการณ์ : การรวบรวมข้อมูลจากเว็บเซิร์ฟเวอร์หรือแอปพลิเคชันเซิร์ฟเวอร์มือถืออย่างต่อเนื่องในโหมดเรียลไทม์หรือโหมดแบทช์ ข้อมูลที่รวบรวมสามารถใช้ในการฝึกอบรมเครื่องยนต์หรือเพื่อให้มีมุมมองแบบรวมสำหรับการวิเคราะห์ข้อมูล เซิร์ฟเวอร์เหตุการณ์ใช้ Apache HBase เพื่อจัดเก็บข้อมูล
  • Engine Server : เอ็นจินเซิร์ฟเวอร์รับผิดชอบการคาดการณ์ที่เกิดขึ้นจริง มันอ่านข้อมูลการฝึกอบรมจากแหล่งข้อมูลและใช้หนึ่งหรือมากกว่าหนึ่งอัลกอริทึมการเรียนรู้ของเครื่องสำหรับการสร้างแบบจำลองการทำนาย เอ็นจิ้นเมื่อใช้งานเป็นบริการเว็บตอบสนองต่อการสอบถามที่ทำโดยเว็บหรือแอพมือถือโดยใช้ REST API หรือ SDK
  • เทมเพลตแกลเลอรี่ : แกลเลอรีนี้มีเทมเพลตเอนจิ้นที่สร้างไว้ล่วงหน้าหลายประเภท คุณสามารถเลือกเทมเพลตที่คล้ายกับกรณีการใช้งานของคุณและปรับเปลี่ยนได้ตามความต้องการของคุณ

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์เซิร์ฟเวอร์ Vultr CentOS 7 ที่มี RAM อย่างน้อย 8GB สำหรับการทดสอบและวัตถุประสงค์การพัฒนาคุณสามารถเลือกตัวอย่างกับ 4GB RAM และอีกหน่วยความจำ 4GB แลกเปลี่ยน
  • sudo ผู้ใช้

ในบทช่วยสอนนี้เราจะใช้192.0.2.1เป็นที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ แทนที่การเกิดขึ้นทั้งหมด192.0.2.1ด้วยที่อยู่ IP สาธารณะ Vultr ของคุณ

ปรับปรุงระบบฐานของคุณใช้คู่มือวิธีการปรับปรุง CentOS 7 เมื่อระบบของคุณอัปเดตแล้วให้ดำเนินการติดตั้ง Java

ติดตั้ง Java

องค์ประกอบหลายอย่างของ PredictionIO ต้องการ JDK หรือ Java Development Kit เวอร์ชัน 8 เพื่อใช้งาน รองรับทั้ง OpenJDK และ Oracle Java ในบทช่วยสอนนี้เราจะติดตั้ง OpenJDK เวอร์ชั่น 8

สามารถติดตั้ง OpenJDK ได้อย่างง่ายดายเนื่องจากแพ็คเกจนี้มีอยู่ในที่เก็บ YUM เริ่มต้น

sudo yum -y install java-1.8.0-openjdk-devel

ตรวจสอบเวอร์ชันของ Java เพื่อให้แน่ใจว่าได้ติดตั้งอย่างถูกต้อง

java -version

คุณจะได้ผลลัพธ์ที่คล้ายกัน

[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

ก่อนที่เราจะสามารถดำเนินการต่อไปเราจะต้องตั้งค่าJAVA_HOMEและJRE_HOMEตัวแปรสภาพแวดล้อม ค้นหาพา ธ สัมบูรณ์ของการเรียกใช้ JAVA ในระบบของคุณ

readlink -f $(which java)

คุณจะเห็นผลลัพธ์ที่คล้ายกัน

[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java

ตอนนี้ตั้งค่าJAVA_HOMEและJRE_HOMEตัวแปรสภาพแวดล้อมตามเส้นทางของไดเรกทอรี Java

echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre" >> ~/.bash_profile

ดำเนินการbash_profileไฟล์

source ~/.bash_profile

ตอนนี้คุณสามารถเรียกใช้echo $JAVA_HOMEคำสั่งเพื่อตรวจสอบว่ามีการตั้งค่าตัวแปรสภาพแวดล้อม

[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64

ติดตั้ง PredictionIO

Apache จัดเตรียมไฟล์ต้นฉบับ PredictionIO ซึ่งสามารถดาวน์โหลดและรวบรวมไว้ในเครื่องได้ สร้างไดเรกทอรีชั่วคราวใหม่เพื่อดาวน์โหลดและรวบรวมไฟล์ต้นฉบับ

mkdir /tmp/pio_sourcefiles && cd /tmp/pio_sourcefiles

ดาวน์โหลด PredictionIO เก็บแฟ้มแหล่งที่มาใช้ใด ๆเว็บไซต์ Apache กระจก

wget http://apache.mirror.vexxhost.com/incubator/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating.tar.gz

แตกไฟล์เก็บถาวรและรวบรวมแหล่งที่มาเพื่อสร้างการกระจายของ PredictionIO

tar xf apache-predictionio-0.12.0-incubating.tar.gz
./make-distribution.sh

การกระจายดังกล่าวข้างต้นจะถูกสร้างขึ้นกับรุ่นเริ่มต้นของการพึ่งพาซึ่งเป็นScala 2.11.8, Spark 2.1.1, และHadoop 2.7.3 ElasticSearch 5.5.2รอการสร้างให้เสร็จสิ้นจะใช้เวลาประมาณสิบนาทีจึงจะเสร็จสมบูรณ์ขึ้นอยู่กับประสิทธิภาพของระบบของคุณ

หมายเหตุ : คุณมีอิสระที่จะใช้การอ้างอิงรุ่นล่าสุดที่สนับสนุน แต่คุณอาจเห็นคำเตือนบางอย่างในระหว่างการสร้างเนื่องจากบางฟังก์ชั่นอาจเลิกใช้แล้ว เรียกใช้./make-distribution.sh -Dscala.version=2.11.11 -Dspark.version=2.1.2 -Dhadoop.version=2.7.4 -Delasticsearch.version=5.5.3แทนที่หมายเลขเวอร์ชั่นตามที่คุณเลือก

เมื่อการสร้างเสร็จสมบูรณ์คุณจะเห็นข้อความต่อไปนี้ในตอนท้าย

...
PredictionIO-0.12.0-incubating/python/pypio/__init__.py
PredictionIO-0.12.0-incubating/python/pypio/utils.py
PredictionIO-0.12.0-incubating/python/pypio/shell.py
PredictionIO binary distribution created at PredictionIO-0.12.0-incubating.tar.gz

ไฟล์ไบนารี PredictionIO จะถูกบันทึกไว้ในPredictionIO-0.12.0-incubating.tar.gzไฟล์เก็บถาวร แตกไฟล์เก็บถาวรใน/optไดเร็กทอรีและจัดเตรียมความเป็นเจ้าของให้กับผู้ใช้ปัจจุบัน

sudo tar xf PredictionIO-0.12.0-incubating.tar.gz -C /opt/
sudo chown -R $USER:$USER /opt/PredictionIO-0.12.0-incubating

ตั้งค่าPIO_HOMEตัวแปรสภาพแวดล้อม

echo "export PIO_HOME=/opt/PredictionIO-0.12.0-incubating" >> ~/.bash_profile
source ~/.bash_profile

ติดตั้งการพึ่งพาที่จำเป็น

สร้างไดเรกทอรีใหม่ในการติดตั้งการอ้างอิง PredictionIO เช่นHBase, และSparkElasticsearch

mkdir /opt/PredictionIO-0.12.0-incubating/vendors

ดาวน์โหลด Scala เวอร์ชั่น 2.11.8 แล้วแตกไปไว้ในvendorsสารบบ

wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
tar xf scala-2.11.8.tgz -C /opt/PredictionIO-0.12.0-incubating/vendors

ดาวน์โหลด Apache Hadoop เวอร์ชั่น 2.7.3 และแยกลงในvendorsไดเรกทอรี

wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
tar xf hadoop-2.7.3.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors

Apache Spark เป็นเอ็นจิ้นการประมวลผลเริ่มต้นสำหรับ PredictionIO ดาวน์โหลด Spark เวอร์ชั่น 2.1.1 และแยกลงในvendorsสารบบ

wget https://archive.apache.org/dist/spark/spark-2.1.1/spark-2.1.1-bin-hadoop2.7.tgz
tar xf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/PredictionIO-0.12.0-incubating/vendors

ดาวน์โหลด Elasticsearch เวอร์ชั่น 5.5.2 และแยกลงในvendorsสารบบ

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.tar.gz
tar xf elasticsearch-5.5.2.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors

ในที่สุดดาวน์โหลด HBase รุ่น 1.2.6 และแยกลงในvendorsไดเรกทอรี

wget https://archive.apache.org/dist/hbase/stable/hbase-1.2.6-bin.tar.gz
tar xf hbase-1.2.6-bin.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors

เปิดhbase-site.xmlไฟล์กำหนดค่าเพื่อกำหนดค่า HBase ให้ทำงานในสภาพแวดล้อมแบบสแตนด์อโลน

nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-site.xml

ค้นหาบล็อกการกำหนดค่าที่ว่างเปล่าและแทนที่ด้วยการกำหนดค่าต่อไปนี้

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///home/user/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/data</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/user/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/zookeeper</value>
  </property>
</configuration>

HBase จะสร้างไดเรกทอรีข้อมูลโดยอัตโนมัติ แก้ไขไฟล์สภาพแวดล้อม HBase เพื่อกำหนดJAVA_HOMEเส้นทาง

nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-env.sh

Uncomment หมายเลขบรรทัด 27 และตั้งค่าJAVA_HOMEเป็นพา ธ ของjreการติดตั้ง Java ของคุณ คุณสามารถค้นหาพา ธ ไปยัง JAVA ที่ปฏิบัติการได้โดยใช้readlink -f $(which java)คำสั่ง

# The java implementation to use.  Java 1.7+ required.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre

และใส่เครื่องหมายคอมเมนต์หมายเลข 46 และ 47 เนื่องจากไม่จำเป็นสำหรับ JAVA 8

# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

กำหนดค่าสภาพแวดล้อม PredictionIO

การกำหนดค่าเริ่มต้นในไฟล์สภาพแวดล้อม PredictionIO pio-env.shจะถือว่าเราใช้ PostgreSQL หรือ MySQL เนื่องจากเราใช้ HBase และ Elasticsearch เราจะต้องแก้ไขการกำหนดค่าเกือบทั้งหมดในไฟล์ เป็นการดีที่สุดที่จะสำรองข้อมูลของไฟล์ที่มีอยู่และสร้างไฟล์สภาพแวดล้อม PredictionIO ใหม่

mv /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh.bak

ตอนนี้สร้างไฟล์ใหม่สำหรับการกำหนดค่าสภาพแวดล้อม PredictionIO

nano /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh

เติมไฟล์ด้วยการกำหนดค่าต่อไปนี้

# PredictionIO Main Configuration
#
# This section controls core behavior of PredictionIO. It is very likely that
# you need to change these to fit your site.

# SPARK_HOME: Apache Spark is a hard dependency and must be configured.
SPARK_HOME=$PIO_HOME/vendors/spark-2.1.1-bin-hadoop2.7

# POSTGRES_JDBC_DRIVER=$PIO_HOME/lib/postgresql-42.0.0.jar
# MYSQL_JDBC_DRIVER=$PIO_HOME/lib/mysql-connector-java-5.1.41.jar

# ES_CONF_DIR: You must configure this if you have advanced configuration for
#              your Elasticsearch setup.
ES_CONF_DIR=$PIO_HOME/vendors/elasticsearch-5.5.2/config

# HADOOP_CONF_DIR: You must configure this if you intend to run PredictionIO
#                  with Hadoop 2.
HADOOP_CONF_DIR=$PIO_HOME/vendors/spark-2.1.1-bin-hadoop2.7/conf

# HBASE_CONF_DIR: You must configure this if you intend to run PredictionIO
#                 with HBase on a remote cluster.
HBASE_CONF_DIR=$PIO_HOME/vendors/hbase-1.2.6/conf

# Filesystem paths where PredictionIO uses as block storage.
PIO_FS_BASEDIR=$HOME/.pio_store
PIO_FS_ENGINESDIR=$PIO_FS_BASEDIR/engines
PIO_FS_TMPDIR=$PIO_FS_BASEDIR/tmp

# PredictionIO Storage Configuration
#
# This section controls programs that make use of PredictionIO's built-in
# storage facilities. Default values are shown below.
#
# For more information on storage configuration please refer to
# http://predictionio.incubator.apache.org/system/anotherdatastore/

# Storage Repositories

# Default is to use PostgreSQL
PIO_STORAGE_REPOSITORIES_METADATA_NAME=pio_meta
PIO_STORAGE_REPOSITORIES_METADATA_SOURCE=ELASTICSEARCH

PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME=pio_event
PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE=HBASE

PIO_STORAGE_REPOSITORIES_MODELDATA_NAME=pio_model
PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE=LOCALFS

# Storage Data Sources

# PostgreSQL Default Settings
# Please change "pio" to your database name in PIO_STORAGE_SOURCES_PGSQL_URL
# Please change PIO_STORAGE_SOURCES_PGSQL_USERNAME and
# PIO_STORAGE_SOURCES_PGSQL_PASSWORD accordingly
# PIO_STORAGE_SOURCES_PGSQL_TYPE=jdbc
# PIO_STORAGE_SOURCES_PGSQL_URL=jdbc:postgresql://localhost/pio
# PIO_STORAGE_SOURCES_PGSQL_USERNAME=pio
# PIO_STORAGE_SOURCES_PGSQL_PASSWORD=pio

# MySQL Example
# PIO_STORAGE_SOURCES_MYSQL_TYPE=jdbc
# PIO_STORAGE_SOURCES_MYSQL_URL=jdbc:mysql://localhost/pio
# PIO_STORAGE_SOURCES_MYSQL_USERNAME=pio
# PIO_STORAGE_SOURCES_MYSQL_PASSWORD=pio

# Elasticsearch Example
PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE=elasticsearch
PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS=localhost
PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS=9200
PIO_STORAGE_SOURCES_ELASTICSEARCH_SCHEMES=http
PIO_STORAGE_SOURCES_ELASTICSEARCH_CLUSTERNAME=pio
PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME=$PIO_HOME/vendors/elasticsearch-5.5.2

# Optional basic HTTP auth
# PIO_STORAGE_SOURCES_ELASTICSEARCH_USERNAME=my-name
# PIO_STORAGE_SOURCES_ELASTICSEARCH_PASSWORD=my-secret
# Elasticsearch 1.x Example
# PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE=elasticsearch
# PIO_STORAGE_SOURCES_ELASTICSEARCH_CLUSTERNAME=<elasticsearch_cluster_name>
# PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS=localhost
# PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS=9300
# PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME=$PIO_HOME/vendors/elasticsearch-1.7.6

# Local File System Example
PIO_STORAGE_SOURCES_LOCALFS_TYPE=localfs
PIO_STORAGE_SOURCES_LOCALFS_PATH=$PIO_FS_BASEDIR/models

# HBase Example
PIO_STORAGE_SOURCES_HBASE_TYPE=hbase
PIO_STORAGE_SOURCES_HBASE_HOME=$PIO_HOME/vendors/hbase-1.2.6

# AWS S3 Example
# PIO_STORAGE_SOURCES_S3_TYPE=s3
# PIO_STORAGE_SOURCES_S3_BUCKET_NAME=pio_bucket
# PIO_STORAGE_SOURCES_S3_BASE_PATH=pio_model

บันทึกไฟล์และออกจากตัวแก้ไข

เปิดไฟล์คอนฟิกูเรชัน Elasticsearch

nano /opt/PredictionIO-0.12.0-incubating/vendors/elasticsearch-5.5.2/config/elasticsearch.yml

ยกเลิกหมายเหตุบรรทัดและตั้งชื่อคลัสเตอร์เป็นชื่อเดียวกับที่ระบุในไฟล์สภาพแวดล้อม PredictionIO ชื่อคลัสเตอร์ถูกตั้งค่าเป็นpioในการกำหนดค่าด้านบน

# Use a descriptive name for your cluster:
#
cluster.name: pio

ตอนนี้เพิ่ม$PIO_HOME/binไดเรกทอรีลงในตัวแปร PATH เพื่อให้สามารถเรียกใช้งาน PredictionIO ได้โดยตรง

echo "export PATH=$PATH:$PIO_HOME/bin" >> ~/.bash_profile
source ~/.bash_profile

ณ จุดนี้ PredictionIO ได้รับการติดตั้งบนเซิร์ฟเวอร์ของคุณเรียบร้อยแล้ว

เริ่มทำนาย

คุณสามารถเริ่มบริการทั้งหมดใน PredictionIO เช่น Elasticsearch, HBase และเซิร์ฟเวอร์เหตุการณ์โดยใช้คำสั่งเดียว

pio-start-all

คุณจะเห็นผลลัพธ์ต่อไปนี้

[user@vultr ~]$ pio-start-all
Starting Elasticsearch...
Starting HBase...
starting master, logging to /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/bin/../logs/hbase-user-master-vultr.guest.out
Waiting 10 seconds for Storage Repositories to fully initialize...
Starting PredictionIO Event Server...

ใช้คำสั่งต่อไปนี้เพื่อตรวจสอบสถานะของเซิร์ฟเวอร์ PredictionIO

pio status

คุณจะเห็นผลลัพธ์ต่อไปนี้

[user@vultr ~]$ pio status
[INFO] [Management$] Inspecting PredictionIO...
[INFO] [Management$] PredictionIO 0.12.0-incubating is installed at /opt/PredictionIO-0.12.0-incubating
[INFO] [Management$] Inspecting Apache Spark...
[INFO] [Management$] Apache Spark is installed at /opt/PredictionIO-0.12.0-incubating/vendors/spark-2.1.1-bin-hadoop2.7
[INFO] [Management$] Apache Spark 2.1.1 detected (meets minimum requirement of 1.3.0)
[INFO] [Management$] Inspecting storage backend connections...
[INFO] [Storage$] Verifying Meta Data Backend (Source: ELASTICSEARCH)...
[INFO] [Storage$] Verifying Model Data Backend (Source: LOCALFS)...
[INFO] [Storage$] Verifying Event Data Backend (Source: HBASE)...
[INFO] [Storage$] Test writing to Event Store (App Id 0)...
[INFO] [HBLEvents] The namespace pio_event doesn't exist yet. Creating now...
[INFO] [HBLEvents] The table pio_event:events_0 doesn't exist yet. Creating now...
[INFO] [HBLEvents] Removing table pio_event:events_0...
[INFO] [Management$] Your system is all ready to go.

ดังที่เราเห็นในข้อความข้างต้นระบบของเราพร้อมที่จะใช้สำหรับการนำเท็มเพลตเอนจินและการทำนายข้อมูล

การนำแม่แบบ Engine ไปใช้

เทมเพลตเอนจิ้นหลายตัวพร้อมใช้งานนั้นมีอยู่ในPredictionIO Template Galleryซึ่งสามารถติดตั้งได้ง่ายบนเซิร์ฟเวอร์ PredictionIO คุณมีอิสระในการเรียกดูรายการแม่แบบของเครื่องยนต์เพื่อค้นหาสิ่งที่ใกล้เคียงกับความต้องการของคุณหรือคุณสามารถเขียนโปรแกรมของคุณเอง

ในบทช่วยสอนนี้เราจะใช้E-Commerce Recommendationเทมเพลตของเครื่องยนต์เพื่อสาธิตการทำงานของเซิร์ฟเวอร์ PredictionIO โดยใช้ข้อมูลตัวอย่าง เทมเพลตเอนจินนี้ให้คำแนะนำส่วนตัวแก่ผู้ใช้ในเว็บไซต์อีคอมเมิร์ซ โดยค่าเริ่มต้นมันมีคุณสมบัติเช่นการแยกออกจากรายการสต็อกหรือให้คำแนะนำกับผู้ใช้ที่ลงทะเบียนหลังจากการฝึกอบรมแบบจำลอง นอกจากนี้ตามค่าเริ่มต้นเทมเพลตเครื่องยนต์จะใช้มุมมองและซื้อกิจกรรมของผู้ใช้รายการที่มีหมวดหมู่และคุณสมบัติและรายการของรายการที่ไม่พร้อมใช้งาน เมื่อเอ็นจิ้นได้รับการฝึกอบรมและปรับใช้แล้วคุณสามารถส่งเคียวรีด้วย ID ผู้ใช้และจำนวนรายการที่จะแนะนำ ผลลัพธ์ที่สร้างขึ้นจะเป็นรายการอันดับของรหัสรายการที่แนะนำ

ติดตั้ง Git เนื่องจากมันจะถูกใช้เพื่อโคลนที่เก็บ

cd ~    
sudo yum -y install git

โคลนเท็มเพลตเอ็นจิน E-Commerce ผู้แนะนำบนระบบของคุณ

git clone https://github.com/apache/incubator-predictionio-template-ecom-recommender.git MyEComRecomm  

สร้างแอปพลิเคชันใหม่สำหรับเอ็นจินเทมเพลตการแนะนำอีคอมเมิร์ซ แต่ละแอปพลิเคชันใน PredictionIO ใช้เพื่อจัดเก็บข้อมูลสำหรับเว็บไซต์แยกต่างหาก หากคุณมีหลายเว็บไซต์คุณสามารถสร้างหลายแอพเพื่อเก็บข้อมูลของแต่ละเว็บไซต์ไว้ในแอปพลิเคชันอื่น คุณมีอิสระที่จะเลือกชื่อใด ๆ สำหรับใบสมัครของคุณ

cd MyEComRecomm/
pio app new myecom

คุณจะเห็นผลลัพธ์ต่อไปนี้

[user@vultr MyEComRecomm]$ pio app new myecom
[INFO] [HBLEvents] The table pio_event:events_1 doesn't exist yet. Creating now...
[INFO] [App$] Initialized Event Store for this app ID: 1.
[INFO] [Pio$] Created a new app:
[INFO] [Pio$]       Name: myecom
[INFO] [Pio$]         ID: 1
[INFO] [Pio$] Access Key: a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t

เอาต์พุตด้านบนยังมีรหัสการเข้าถึงซึ่งจะใช้ในการตรวจสอบสิทธิ์เมื่อส่งข้อมูลอินพุตไปยังเซิร์ฟเวอร์เหตุการณ์

คุณสามารถค้นหารหัสการเข้าถึงพร้อมกับรายการแอปพลิเคชันที่มีอยู่ได้ด้วยการเรียกใช้

pio app list

คุณจะเห็นผลลัพธ์ต่อไปนี้ที่มีรายการแอปพลิเคชันและรหัสการเข้าถึง

[user@vultr MyEComRecomm]$ pio app list
[INFO] [Pio$]                 Name |   ID |                                                       Access Key | Allowed Event(s)
[INFO] [Pio$]               myecom |    1 | a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t | (all)
[INFO] [Pio$] Finished listing 1 app(s).

ตอนนี้เราได้สร้างแอปพลิเคชันใหม่แล้วเราจะเพิ่มข้อมูลลงไป ในสภาพแวดล้อมการใช้งานจริงคุณต้องการส่งข้อมูลไปยังเซิร์ฟเวอร์เหตุการณ์โดยอัตโนมัติโดยรวม API เซิร์ฟเวอร์เหตุการณ์ในแอปพลิเคชัน เพื่อเรียนรู้วิธีการทำงานของ PredictionIO เราจะนำเข้าข้อมูลตัวอย่างบางส่วนเข้ามา เทมเพลตเอ็นจิ้นมีสคริปต์ Python ซึ่งสามารถนำเข้าข้อมูลตัวอย่างไปยังเซิร์ฟเวอร์เหตุการณ์ได้อย่างง่ายดาย

ติดตั้ง Python pip

sudo yum -y install python-pip
sudo pip install --upgrade pip

ติดตั้ง PredictionIO Python SDK โดยใช้ pip

sudo pip install predictionio

รันสคริปต์ Python เพื่อเพิ่มข้อมูลตัวอย่างไปยังเซิร์ฟเวอร์เหตุการณ์

python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t

ตรวจสอบให้แน่ใจว่าได้เปลี่ยนรหัสการเข้าถึงด้วยรหัสการเข้าถึงจริงของคุณ คุณจะเห็นผลลัพธ์ที่คล้ายกัน

[user@vultr MyEComRecomm]$ python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
Namespace(access_key='a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t', url='http://localhost:7070')
{u'status': u'alive'}
Importing data...
('Set user', 'u1')
('Set user', 'u2')

...

('User', 'u10', 'buys item', 'i30')
('User', 'u10', 'views item', 'i40')
('User', 'u10', 'buys item', 'i40')
204 events are imported.

สคริปต์ด้านบนนำเข้า 10 ผู้ใช้ 50 รายการใน 6 หมวดหมู่และมีเหตุการณ์สุ่มของการซื้อและการดู ในการตรวจสอบว่ามีการนำเข้าเหตุการณ์หรือไม่คุณสามารถเรียกใช้แบบสอบถามต่อไปนี้

curl -i -X GET "http://localhost:7070/events.json?accessKey=a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t"

ผลลัพธ์จะแสดงรายการเหตุการณ์ที่นำเข้าทั้งหมดในรูปแบบ JSON

ตอนนี้เปิดengine.jsonไฟล์ลงในโปรแกรมแก้ไข ไฟล์นี้มีการกำหนดค่าของเครื่องยนต์

nano engine.json

ค้นหาทั้งการเกิดappNameและแทนที่ค่าด้วยชื่อจริงของแอพที่คุณสร้างไว้ก่อนหน้านี้

{
  "id": "default",
  "description": "Default settings",
  "engineFactory": "org.example.ecommercerecommendation.ECommerceRecommendationEngine",
  "datasource": {
    "params" : {
      "appName": "myecom"
    }
  },
  "algorithms": [
    {
      "name": "ecomm",
      "params": {
        "appName": "myecom",
        "unseenOnly": true,
        "seenEvents": ["buy", "view"],
        "similarEvents": ["view"],
        "rank": 10,
        "numIterations" : 20,
        "lambda": 0.01,
        "seed": 3
      }
    }
  ]
}

สร้างแอปพลิเคชัน

pio build --verbose

หากคุณไม่ต้องการเห็นข้อความบันทึกให้ลบ--verboseตัวเลือกออก การสร้างเทมเพลตของเครื่องยนต์เป็นครั้งแรกจะใช้เวลาไม่กี่นาที คุณจะเห็นผลลัพธ์ที่คล้ายกันเมื่อการสร้างเสร็จสมบูรณ์

[user@vultr MyEComRecomm]$ pio build --verbose
[INFO] [Engine$] Using command '/opt/PredictionIO-0.12.0-incubating/sbt/sbt' at /home/user/MyEComRecomm to build.

...

[INFO] [Engine$] Build finished successfully.
[INFO] [Pio$] Your engine is ready for training.

ฝึกฝนเครื่องยนต์ตอนนี้ ในระหว่างการฝึกอบรมเครื่องยนต์จะวิเคราะห์ชุดข้อมูลและฝึกฝนตัวเองตามขั้นตอนวิธีที่ให้ไว้

pio train

ก่อนที่เราจะปรับใช้แอปพลิเคชันเราจะต้องเปิดพอร์ต8000เพื่อให้สถานะของแอปพลิเคชันสามารถดูได้บนเว็บ GUI นอกจากนี้เว็บไซต์และแอปพลิเคชันที่ใช้เซิร์ฟเวอร์เหตุการณ์จะส่งและรับข้อความค้นหาผ่านพอร์ตนี้

sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload

ตอนนี้คุณสามารถปรับใช้เอนจิ้น PredictionIO

pio deploy

คำสั่งด้านบนจะปรับใช้เอ็นจิ้นและเว็บเซิร์ฟเวอร์ในตัวบนพอร์ต8000เพื่อตอบคำถามจากเว็บไซต์และแอพพลิเคชั่นอีคอมเมิร์ซ คุณจะเห็นผลลัพธ์ต่อไปนี้เมื่อสิ้นสุดการปรับใช้โปรแกรมเรียบร้อยแล้ว

[INFO] [HttpListener] Bound to /0.0.0.0:8000
[INFO] [MasterActor] Engine is deployed and running. Engine API is live at http://0.0.0.0:8000.

คุณสามารถตรวจสอบสถานะของเครื่องยนต์โดยไปhttp://192.0.2.1:8000ที่เบราว์เซอร์สมัยใหม่ ตรวจสอบให้แน่ใจว่าคุณแทนที่192.0.2.1ด้วยที่อยู่ IP Vultr ที่แท้จริงของคุณ

นี่หมายความว่าเทมเพลตเอ็นจิ้นสำหรับคำแนะนำอีคอมเมิร์ซถูกปรับใช้และทำงานได้สำเร็จ คุณสามารถเคียวรีเทมเพลตเอ็นจิ้นเพื่อดึงคำแนะนำที่ห้าสำหรับผู้ใช้u5โดยเรียกใช้คิวรีต่อไปนี้ในเทอร์มินัลเซสชันใหม่

curl -H "Content-Type: application/json" \
-d '{ "user": "u5", "num": 5 }' \
http://localhost:8000/queries.json

u5คุณจะเห็นคำแนะนำที่สร้างขึ้นสำหรับผู้ใช้

[user@vultr ~]$ curl -H "Content-Type: application/json" \
> -d '{ "user": "u5", "num": 5 }' \
> http://localhost:8000/queries.json
{"itemScores":[{"item":"i25","score":0.9985169366745619},{"item":"i10","score":0.996613946803819},{"item":"i27","score":0.996613946803819},{"item":"i17","score":0.9962796867639341},{"item":"i8","score":0.9955868705972656}]}

ห่อ

ขอแสดงความยินดี Apache PredictionIO ได้รับการปรับใช้บนเซิร์ฟเวอร์ของคุณเรียบร้อยแล้ว ตอนนี้คุณสามารถใช้ API ของเซิร์ฟเวอร์เหตุการณ์เพื่อนำเข้าข้อมูลลงในเอ็นจินเพื่อคาดการณ์คำแนะนำสำหรับผู้ใช้ หากคุณต้องการคุณสามารถใช้เทมเพลตอื่นได้จากแกลเลอรี่เทมเพลต อย่าลืมตรวจสอบเทมเพลตเอนจิ้น Universal Referenderซึ่งสามารถใช้ได้ในเกือบทุกกรณีการใช้งานรวมถึงอีคอมเมิร์ซข่าวหรือวิดีโอ



Leave a Comment

การติดตั้ง Pagekit CMS บน CentOS 7

การติดตั้ง Pagekit CMS บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการติดตั้ง TestLink บน CentOS 7

วิธีการติดตั้ง TestLink บน CentOS 7

TestLink เป็นระบบดำเนินการจัดการทดสอบบนเว็บโอเพ่นซอร์ส ช่วยให้ทีมงานประกันคุณภาพสามารถสร้างและจัดการกรณีทดสอบได้เช่นกัน

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง GCC บน CentOS 6

วิธีการติดตั้ง GCC บน CentOS 6

CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น

วิธีการติดตั้ง Moodle บน CentOS 7

วิธีการติดตั้ง Moodle บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

Introduction LAMP เป็นคำย่อที่ย่อมาจาก Linux, Apache, MySQL และ PHP ซอฟต์แวร์นี้เป็นโซลูชันโอเพ่นซอร์สที่ได้รับความนิยมสูงสุดสำหรับการติดตั้ง o

การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

Icinga2 เป็นระบบการตรวจสอบที่มีประสิทธิภาพและเมื่อใช้ในโมเดลลูกค้าหลักจะสามารถแทนที่ความต้องการการตรวจสอบที่อิง NRPE ปรมาจารย์

การติดตั้ง Netdata บน CentOS 7

การติดตั้ง Netdata บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Netdata เป็นดาวรุ่งพุ่งแรงในด้านการติดตามการวัดในระบบแบบเรียลไทม์ เมื่อเปรียบเทียบกับเครื่องมือชนิดเดียวกัน Netdata:

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

Buildbot เป็นโอเพ่นซอร์สเครื่องมือที่ใช้การรวมอย่างต่อเนื่องของ Python สำหรับการสร้างซอฟต์แวร์การทดสอบและการปรับใช้โดยอัตโนมัติ Buildbot ประกอบด้วยหนึ่งหรือหมอ

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ยินดีต้อนรับสู่การกวดวิชา Vultr อื่น ที่นี่คุณจะได้เรียนรู้วิธีการติดตั้งและเรียกใช้เซิร์ฟเวอร์ SAMP คู่มือนี้เขียนขึ้นสำหรับ CentOS 6 ข้อกำหนดเบื้องต้นคุณจะต้อง

ติดตั้ง dotProject บน CentOS 7

ติดตั้ง dotProject บน CentOS 7

แอปพลิเคชั่น dotProject เป็นเครื่องมือการจัดการโครงการแบบโอเพ่นซอร์สบนเว็บ สำหรับตอนนี้มันวางจำหน่ายภายใต้ GPL ดังนั้นคุณสามารถปรับใช้และใช้งานได้บนบริการของคุณ

ติดตั้ง TaskServer (taskd) บน CentOS 7

ติดตั้ง TaskServer (taskd) บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร TaskWarrior เป็นเครื่องมือจัดการเวลาแบบโอเพ่นซอร์สที่เป็นการปรับปรุงแอพพลิเคชั่น Todo.txt และโคลนของมัน เนื่องมาจาก

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร Selfoss RSS Reader เป็นฟรีและเปิดตัวเองบนเว็บโฮสต์อเนกประสงค์, สตรีมสด, ตอบโต้กับผู้ใช้ได้, ฟีดข่าว (RSS / Atom) reade

วิธีการติดตั้ง Kanboard บน CentOS 7

วิธีการติดตั้ง Kanboard บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Kanboard เป็นซอฟต์แวร์ซอฟต์แวร์การจัดการโครงการโอเพ่นซอร์สฟรีที่ออกแบบมาเพื่ออำนวยความสะดวกและมองเห็นภาพการทำงานเป็นทีม

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

บทช่วยสอนนี้จะกล่าวถึงกระบวนการติดตั้งเซิร์ฟเวอร์เกม Half Life 2 บนระบบ CentOS 6 ขั้นตอนที่ 1: การติดตั้งข้อกำหนดเบื้องต้นเพื่อตั้งค่า ou

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

GlusterFS เป็นระบบไฟล์ที่เชื่อมต่อกับเครือข่ายซึ่งช่วยให้คุณแบ่งปันไดรฟ์สองตัวในอุปกรณ์หลายตัวบนเครือข่ายได้อย่างมีประสิทธิภาพ ระบบไฟล์นี้คือ

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร ในขณะที่การโยกย้ายเว็บไซต์มักจะไม่มีปัญหาบางครั้งก็ยากที่จะโยกย้ายกล่องอีเมล นี่คือ CAS โดยเฉพาะอย่างยิ่ง

วิธีการติดตั้ง PrestaShop บน CentOS 7

วิธีการติดตั้ง PrestaShop บน CentOS 7

PrestaShop เป็นโซลูชันอีคอมเมิร์ซแบบโอเพ่นซอร์สที่ได้รับความนิยม คุณสามารถใช้มันเพื่อสร้างร้านค้าออนไลน์ของคุณเองได้ฟรี ในบทช่วยสอนนี้ฉันจะแสดงให้คุณเห็นว่า

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน