Rumah pembangunan bahagian belakang Tutorial Python Tensorflow基础(机器学习开源软件库)

Tensorflow基础(机器学习开源软件库)

Nov 29, 2019 pm 02:53 PM
tensorflow pembelajaran mesin

Tensorflow基础(机器学习开源软件库)

说明:本文实例使用Python版本为3.5.6,Tensorflow版本为2.0

介绍

Tensorflow是Google推出的机器学习开源神器,对Python有着良好的语言支持,支持CPU,GPU和Google TPU等硬件,并且已经拥有了各种各样的模型和算法。目前,Tensorflow已被广泛应用于文本处理,语音识别和图像识别等多项机器学习和深度学习领域。

基础框架

分为三层:应用层、接口层和核心层

推荐:《python教程》  

应用层

提供了机器学习相关的训练库、预测库和针对Python、C++和Java等变成语言的编程环境,类似于web系统的前端,主要实现了对计算图的构造。

接口层

对Tensorflow功能模块的封装,便于其它语言平台的调用。

核心层

最重要的部分,包括设备层、网络层、数据操作层和图计算层,执行应用层的计算。

1.设备层

包括Tensorflow在不同硬件设备上的实现,主要支持CPU、GPU和Mobile等设备,在不同硬件设备上实现计算命令的转换,给上层提供统一的接口,实现程序的跨平台功能。

2.网络层

网络层主要包括RPC和RDMA通信协议,实现不同设备之间的数据传输和更新,这些协议都会在分布式计算中用到。

3.数据操作层

以tensor为处理对象,实现tensor的各种操作和计算。

4.图计算层

包括分布式计算图和本地计算图的实现,实现图的创建、编译、优化和执行等。

设计理念

可以将Tensorflow理解为一张计算图中“张量的流动”,其中,Tensor(张量)代表了计算图中的边,Flow(流动)代表了计算图中节点所做的操作而形成的数据流动。

其设计理念是以数据流为核心,当构建相应的机器学习模型后,使用训练数据在模型中进行数据流动,同时将结果以反向传播的方式反馈给模型中的参数,以进行调参,使用调整后的参数对训练数据再次进行迭代计算。

编程特点

有两个编程特点:

图的定义和图的运行完全分开

在tensorflow中,需要预先定义各种变量,建立相关的数据流图,在数据流图中创建各种变量之间的计算关系,完成图的定义,需要把运算的输入数据放进去后,才会形成输出值。

图的计算在会话中执行

tensorflow的相关计算在图中进行定义,而图的具体运行坏境在会话(session)中,开启会话后,才能开始计算,关闭会话就不能再进行计算了。

举个例子:

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
a = 3
b = 4
c = 5
y = tf.add(a*b, c)
print(y)
a = tf.constant(3, tf.int32)
b = tf.constant(4, tf.int32)
c = tf.constant(5, tf.int32)
y = tf.add(a*b, c)
print(y)
session = tf.compat.v1.Session()
print(session.run(y))
session.close()
Salin selepas log masuk

可以看出,在图创建后,并在会话中执行数据计算,最终输出结果。

设计的好处就是:学习的过程中,消耗最多的是对数据的训练,这样设计的话,当进行计算时,图已经确定,计算就只剩下一个不断迭代的过程。

基本概念

Tensor

张量,是tensorflow中最主要的数据结构,张量用于在计算图中进行数据传递,创建了张量后,需要将其赋值给一个变量或占位符,之后才会将该张量添加到计算图中。

session

会话,是Tensorflow中计算图的具体执行者,与图进行实际的交互。一个会话中可以有多个图,会话的主要目的是将训练数据添加到图中进行计算,也可以修改图的结构。

调用模式推荐使用with语句:

with session:
    session.run()
Variable
Salin selepas log masuk

变量,表示图中的各个计算参数,通过调整这些变量的状态来优化机器学习算法。创建变量应使用tf.Variable(),通过输入一个张量,返回一个变量,变量声明后需进行初始化才能使用。

举例说明:

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
tensor = tf.ones([1, 3])
test_var = tf.Variable(tensor)
# 初始化变量
init_op = tf.compat.v1.global_variables_initializer()
session = tf.compat.v1.Session()
with session:
    print("tensor is ", session.run(tensor))
    # print("test_var is ", session.run(test_var))
    session.run(init_op)
    print("after init, test_var is", session.run(test_var))
Salin selepas log masuk

Placeholder

占位符,用于表示输入输出数据的格式,声明了数据位置,允许传入指定类型和形状的数据,通过会话中的feed_dict参数获取数据,在计算图运行时使用获取的数据进行计算,计算完毕后获取的数据就会消失。

举例说明:

x = tf.compat.v1.placeholder(tf.int32)
y = tf.compat.v1.placeholder(tf.int32)
z = tf.add(x, y)
session = tf.compat.v1.Session()
with session:
    print(session.run([z], feed_dict={x: [1, 2], y: [2, 3]}))
Salin selepas log masuk

Operation

操作,是图中的节点,输入输出都是Tensor,作用是完成各种操作,包括:

数学运算:add, sub, mul, div, exp ...

数组运算:concat, slice, split, rank ...

矩阵运算:matmul, matrixinverse ...

神经网络构建:softmax, sigmoid, relu ...

检查点:save, restore ...

队列和同步:enqueue, dequeue, mutexacquire, mutexrelease ...

张量控制:merge, switch, enter, leave ...

Queue

队列,图中有状态的节点。包含入列(endqueue)和出列(dequeue)两个操作,入列返回计算图中的一个操作节点,出列返回一个tensor值。

其中,队列有两种:

1. FIFOQueue

按入列顺序出列的队列,在需要读入的训练样本有序时使用。举个例子:

fifo_queue = tf.compat.v1.FIFOQueue(10, 'int32')
init = fifo_queue.enqueue_many(([1, 2, 3, 4, 5, 6], ))
with tf.compat.v1.Session() as session:
    session.run(init)
    queue_size = session.run(fifo_queue.size())
    for item in range(queue_size):
        print('fifo_queue', session.run(fifo_queue.dequeue()))
Salin selepas log masuk

2. RandomShuffleQueue

以随机顺序出列的队列,读入的训练样本无序时使用。举个例子:

rs_queue = tf.compat.v1.RandomShuffleQueue(capacity=5, min_after_dequeue=0, dtypes='int32')
init = rs_queue.enqueue_many(([1, 2, 3, 4, 5], ))
with tf.compat.v1.Session() as session:
    session.run(init)
    queue_size = session.run(rs_queue.size())
    for i in range(queue_size):
        print('rs_queue', session.run(rs_queue.dequeue()))
Salin selepas log masuk

本文来自 python教程 栏目,欢迎学习!  

Atas ialah kandungan terperinci Tensorflow基础(机器学习开源软件库). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

15 alat anotasi imej percuma sumber terbuka disyorkan 15 alat anotasi imej percuma sumber terbuka disyorkan Mar 28, 2024 pm 01:21 PM

Anotasi imej ialah proses mengaitkan label atau maklumat deskriptif dengan imej untuk memberi makna dan penjelasan yang lebih mendalam kepada kandungan imej. Proses ini penting untuk pembelajaran mesin, yang membantu melatih model penglihatan untuk mengenal pasti elemen individu dalam imej dengan lebih tepat. Dengan menambahkan anotasi pada imej, komputer boleh memahami semantik dan konteks di sebalik imej, dengan itu meningkatkan keupayaan untuk memahami dan menganalisis kandungan imej. Anotasi imej mempunyai pelbagai aplikasi, meliputi banyak bidang, seperti penglihatan komputer, pemprosesan bahasa semula jadi dan model penglihatan graf Ia mempunyai pelbagai aplikasi, seperti membantu kenderaan dalam mengenal pasti halangan di jalan raya, dan membantu dalam proses. pengesanan dan diagnosis penyakit melalui pengecaman imej perubatan. Artikel ini terutamanya mengesyorkan beberapa alat anotasi imej sumber terbuka dan percuma yang lebih baik. 1.Makesen

Artikel ini akan membawa anda memahami SHAP: penjelasan model untuk pembelajaran mesin Artikel ini akan membawa anda memahami SHAP: penjelasan model untuk pembelajaran mesin Jun 01, 2024 am 10:58 AM

Dalam bidang pembelajaran mesin dan sains data, kebolehtafsiran model sentiasa menjadi tumpuan penyelidik dan pengamal. Dengan aplikasi meluas model yang kompleks seperti kaedah pembelajaran mendalam dan ensemble, memahami proses membuat keputusan model menjadi sangat penting. AI|XAI yang boleh dijelaskan membantu membina kepercayaan dan keyakinan dalam model pembelajaran mesin dengan meningkatkan ketelusan model. Meningkatkan ketelusan model boleh dicapai melalui kaedah seperti penggunaan meluas pelbagai model yang kompleks, serta proses membuat keputusan yang digunakan untuk menerangkan model. Kaedah ini termasuk analisis kepentingan ciri, anggaran selang ramalan model, algoritma kebolehtafsiran tempatan, dsb. Analisis kepentingan ciri boleh menerangkan proses membuat keputusan model dengan menilai tahap pengaruh model ke atas ciri input. Anggaran selang ramalan model

Telus! Analisis mendalam tentang prinsip model pembelajaran mesin utama! Telus! Analisis mendalam tentang prinsip model pembelajaran mesin utama! Apr 12, 2024 pm 05:55 PM

Dalam istilah orang awam, model pembelajaran mesin ialah fungsi matematik yang memetakan data input kepada output yang diramalkan. Secara lebih khusus, model pembelajaran mesin ialah fungsi matematik yang melaraskan parameter model dengan belajar daripada data latihan untuk meminimumkan ralat antara output yang diramalkan dan label sebenar. Terdapat banyak model dalam pembelajaran mesin, seperti model regresi logistik, model pepohon keputusan, model mesin vektor sokongan, dll. Setiap model mempunyai jenis data dan jenis masalah yang berkenaan. Pada masa yang sama, terdapat banyak persamaan antara model yang berbeza, atau terdapat laluan tersembunyi untuk evolusi model. Mengambil perceptron penyambung sebagai contoh, dengan meningkatkan bilangan lapisan tersembunyi perceptron, kita boleh mengubahnya menjadi rangkaian neural yang mendalam. Jika fungsi kernel ditambah pada perceptron, ia boleh ditukar menjadi SVM. yang ini

Kenal pasti overfitting dan underfitting melalui lengkung pembelajaran Kenal pasti overfitting dan underfitting melalui lengkung pembelajaran Apr 29, 2024 pm 06:50 PM

Artikel ini akan memperkenalkan cara mengenal pasti pemasangan lampau dan kekurangan dalam model pembelajaran mesin secara berkesan melalui keluk pembelajaran. Underfitting dan overfitting 1. Overfitting Jika model terlampau latihan pada data sehingga ia mempelajari bunyi daripadanya, maka model tersebut dikatakan overfitting. Model yang dipasang terlebih dahulu mempelajari setiap contoh dengan sempurna sehingga ia akan salah mengklasifikasikan contoh yang tidak kelihatan/baharu. Untuk model terlampau, kami akan mendapat skor set latihan yang sempurna/hampir sempurna dan set pengesahan/skor ujian yang teruk. Diubah suai sedikit: "Punca overfitting: Gunakan model yang kompleks untuk menyelesaikan masalah mudah dan mengekstrak bunyi daripada data. Kerana set data kecil sebagai set latihan mungkin tidak mewakili perwakilan yang betul bagi semua data. 2. Underfitting Heru

Evolusi kecerdasan buatan dalam penerokaan angkasa lepas dan kejuruteraan penempatan manusia Evolusi kecerdasan buatan dalam penerokaan angkasa lepas dan kejuruteraan penempatan manusia Apr 29, 2024 pm 03:25 PM

Pada tahun 1950-an, kecerdasan buatan (AI) dilahirkan. Ketika itulah penyelidik mendapati bahawa mesin boleh melakukan tugas seperti manusia, seperti berfikir. Kemudian, pada tahun 1960-an, Jabatan Pertahanan A.S. membiayai kecerdasan buatan dan menubuhkan makmal untuk pembangunan selanjutnya. Penyelidik sedang mencari aplikasi untuk kecerdasan buatan dalam banyak bidang, seperti penerokaan angkasa lepas dan kelangsungan hidup dalam persekitaran yang melampau. Penerokaan angkasa lepas ialah kajian tentang alam semesta, yang meliputi seluruh alam semesta di luar bumi. Angkasa lepas diklasifikasikan sebagai persekitaran yang melampau kerana keadaannya berbeza daripada di Bumi. Untuk terus hidup di angkasa, banyak faktor mesti dipertimbangkan dan langkah berjaga-jaga mesti diambil. Para saintis dan penyelidik percaya bahawa meneroka ruang dan memahami keadaan semasa segala-galanya boleh membantu memahami cara alam semesta berfungsi dan bersedia untuk menghadapi kemungkinan krisis alam sekitar

Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa Jun 03, 2024 pm 01:25 PM

Cabaran biasa yang dihadapi oleh algoritma pembelajaran mesin dalam C++ termasuk pengurusan memori, multi-threading, pengoptimuman prestasi dan kebolehselenggaraan. Penyelesaian termasuk menggunakan penunjuk pintar, perpustakaan benang moden, arahan SIMD dan perpustakaan pihak ketiga, serta mengikuti garis panduan gaya pengekodan dan menggunakan alat automasi. Kes praktikal menunjukkan cara menggunakan perpustakaan Eigen untuk melaksanakan algoritma regresi linear, mengurus memori dengan berkesan dan menggunakan operasi matriks berprestasi tinggi.

AI yang boleh dijelaskan: Menerangkan model AI/ML yang kompleks AI yang boleh dijelaskan: Menerangkan model AI/ML yang kompleks Jun 03, 2024 pm 10:08 PM

Penterjemah |. Disemak oleh Li Rui |. Chonglou Model kecerdasan buatan (AI) dan pembelajaran mesin (ML) semakin kompleks hari ini, dan output yang dihasilkan oleh model ini adalah kotak hitam – tidak dapat dijelaskan kepada pihak berkepentingan. AI Boleh Dijelaskan (XAI) bertujuan untuk menyelesaikan masalah ini dengan membolehkan pihak berkepentingan memahami cara model ini berfungsi, memastikan mereka memahami cara model ini sebenarnya membuat keputusan, dan memastikan ketelusan dalam sistem AI, Amanah dan akauntabiliti untuk menyelesaikan masalah ini. Artikel ini meneroka pelbagai teknik kecerdasan buatan (XAI) yang boleh dijelaskan untuk menggambarkan prinsip asasnya. Beberapa sebab mengapa AI boleh dijelaskan adalah penting Kepercayaan dan ketelusan: Untuk sistem AI diterima secara meluas dan dipercayai, pengguna perlu memahami cara keputusan dibuat

Tinjauan tentang trend masa depan teknologi Golang dalam pembelajaran mesin Tinjauan tentang trend masa depan teknologi Golang dalam pembelajaran mesin May 08, 2024 am 10:15 AM

Potensi aplikasi bahasa Go dalam bidang pembelajaran mesin adalah besar Kelebihannya ialah: Concurrency: Ia menyokong pengaturcaraan selari dan sesuai untuk operasi intensif pengiraan dalam tugas pembelajaran mesin. Kecekapan: Pengumpul sampah dan ciri bahasa memastikan kod itu cekap, walaupun semasa memproses set data yang besar. Kemudahan penggunaan: Sintaksnya ringkas, menjadikannya mudah untuk belajar dan menulis aplikasi pembelajaran mesin.

See all articles