Sebagai platform pembelajaran mesin sumber terbuka yang komprehensif dan fleksibel, kami boleh menggunakan TensorFlow untuk mencipta aplikasi untuk desktop, mudah alih, web dan model pembelajaran mesin Alam Sekitar awan, juga boleh dikatakan secara ringkas bahawa TensorFlow ialah rangka kerja pembelajaran mesin sumber terbuka Kita boleh menggunakan TensorFlow untuk membina rangkaian saraf dengan cepat, dan pada masa yang sama melatih, menilai dan menyimpan rangkaian dengan cepat.
Selepas kami memasang TensorFlow, kami boleh mengimport terus TensorFlow setiap kali kami menggunakannya
import TensorFlow as tf
Tapak web rasmi TensorFlow adalah seperti berikut:
Tentang TensorFlow |Tapak web rasmi TensorFlow Chinese (google.cn)
● Fleksibiliti tinggi: Selagi pengiraan boleh dinyatakan sebagai graf aliran pengiraan, TF boleh digunakan.
● Kemudahalihan sebenar: menyokong desktop, pelayan (kedua-dua CPU dan GPU) dan peranti terbenam.
● Sokongan berbilang bahasa: Berdasarkan Python, ia juga menyediakan antara muka pengguna C++ dan antara muka interaktif Ipython.
● Alat visualisasi: TensorFlow menyediakan alat visualisasi yang berkuasa, TensorBoard.
● Sokongan perpustakaan pakej kaya: TFlearn, TF-Slim, Keras, dsb.
● Tidak menyokong Windows
Selain daripada semua kelebihan yang ditawarkan oleh TensorFlow, fungsinya untuk pengguna Windows adalah sangat terhad. Ia sangat mesra kepada pengguna Linux. dan sokongan bahasa pengaturcaraan Python untuk pengaturcaraan GPU.
1.2.3 Tafsiran Seni Bina TensorFlowLapisan pertama: lapisan komunikasi peranti, yang terdiri daripada lapisan peranti dan lapisan rangkaian dan bertanggungjawab untuk komunikasi Rangkaian dan pengurusan peranti. Pengurusan peranti boleh merealisasikan ciri heterogen peranti TF Lapisan peranti menyokong pelaksanaan komunikasi peranti yang berbeza seperti CPU, GPU dan Mudah Alih. Komunikasi rangkaian bergantung pada protokol komunikasi
gRPC untuk merealisasikan penghantaran data dan kemas kini antara peranti yang berbeza.
Lapisan kedua: Lapisan pelaksanaan kernel, yang menggunakan Tensor sebagai objek pemprosesan, bergantung pada komunikasi rangkaian dan peruntukan memori peranti, dan melaksanakan pelbagai operasi atau pengiraan Tensor, terutamanya pelaksanaan kernel pembelajaran mesin. Lapisan ketiga: lapisan pengkomputeran graf, terdiri daripada kawalan induk teragih dan pelaksana aliran data, termasuk pelaksanaan graf aliran pengkomputeran tempatan dan graf aliran pengkomputeran teragih. Induk teragih mengedarkan beban kerja yang berbeza pada peranti berbeza mengikut keupayaan beban dan pelaksana aliran data melaksanakan graf aliran data berdasarkan kaedah percubaan terbaik.Lapisan 4 : Lapisan antara muka API, C API ialah enkapsulasi antara muka modul fungsi TF, yang dilaksanakan dalam bahasa C. Bahasa C dipilih kerana ia adalah bahasa peringkat rendah, mudah, pantas, boleh dipercayai dan boleh dijalankan pada mana-mana sistem pengendalian.
Lapisan kelima: Lapisan pelanggan, Python, C++ dan bahasa pengaturcaraan lain memanggil fungsi teras TF melalui lapisan antara muka API dalam lapisan aplikasi untuk melaksanakan eksperimen dan aplikasi yang berkaitan.
Dan lapisan terakhir TensorFlow mengandungi perpustakaan latihan dan inferens yang dilaksanakan dalam python dan C++.
Jika anda ingin memahami sepenuhnya teori asas dan idea reka bentuk operasi praktikal pengenalan TensorFlow, anda boleh pergi ke MOOC Universiti China untuk belajar "TensorFlow Kursus Praktikal Pengenalan" , cepat mulakan dengan aplikasi dan amalan asas TensorFlow.
Di sini kami mengambil Ubuntu 16.04 atau lebih tinggi (64-bit) sebagai contoh
PIP ialah sistem pengurusan pakej yang digunakan untuk memasang dan mengurus pakej perisian yang ditulis dalam Python.
Pertama kita perlu memasang persekitaran python, yang memerlukan Python 3.6-3.9 dan pip 19.0 dan lebih tinggi Jika anda tidak pasti sama ada kami telah memasangnya, anda boleh lulus versi Semak untuk memastikan anda boleh meneruskan
python3 –version pip3 --version
Jika ia tidak dipasang, sila rujuk kod berikut:
sudo apt update sudo apt install python3-dev python3-pip python3-venv
Isi penting: Sebenarnya, untuk pemasangan ular sawa di sini, saya mengesyorkan memasang anaconda, yang boleh menjimatkan banyak perkara anaconda merangkumi lebih daripada 190 pakej saintifik dan kebergantungan mereka seperti conda dan Python. . Ia boleh mengurangkan pelbagai masalah perpustakaan , masalah versi.
Kedua kita perlu mewujudkan persekitaran maya
Akhir sekali, kami mengaktifkan persekitaran maya, dan kemudian memasang pakej TensorFlow pip dalam persekitaran maya
pip install --upgrade TensorFlow
Selepas pemasangan selesai , anda boleh mengesahkan untuk memastikan pemasangan berjaya
python -c "import TensorFlow
git clone --recurse-submodules https://github.com/TensorFlow/TensorFlow
Pemasangan
Rujukan https://www.php.cn/link/a03caec56cd82478bf197475b48c05f9><🎜
Configure./configure Jawab satu siri soalan dengan jujur berdasarkan situasi sebenar anda. Selepas menjawab, bazel akan mengkonfigurasi persekitaran Pada masa ini, mesin perlu boleh mengakses rangkaian luaran untuk memudahkan mendapatkan beberapa pakej pergantungan kompilasi. Sesetengah pakej mungkin perlu lompat ke atas dinding.
Kompilasi
bazel build -c opt --config=cuda //TensorFlow/tools/pip_package:build_pip_package
Docker ialah enjin kontena aplikasi sumber terbuka yang membenarkan Pembangun boleh membungkus aplikasi dan kebergantungan mereka ke dalam bekas mudah alih dan menerbitkannya ke mana-mana mesin Linux yang popular, yang juga boleh dimayakan.
Apabila anda memasang dan menjalankan TensorFlow melalui Docker, ia diasingkan sepenuhnya daripada pakej yang dipasang sebelum ini pada mesin anda.
Imej Rasmi
Secara rasmi menyediakan 4 imej Docker untuk digunakan:
Versi CPU sahaja, tanpa persekitaran pembangunan: gcr.io/TensorFlow/TensorFlow
Versi CPU sahaja, dengan persekitaran pembangunan: gcr.io/TensorFlow/TensorFlow:latest- devel
menyokong GPU dan tidak mempunyai persekitaran pembangunan: gcr.io/TensorFlow/TensorFlow:latest-gpu
menyokong GPU dan mempunyai persekitaran pembangunan: gcr. io/TensorFlow/TensorFlow:latest-devel-gpu
Buat kumpulan pengguna Docker
Benarkan pengguna biasa Bekas boleh dimulakan tanpa sudo.
usermod -a -G docker 用户名
Mulakan bekas Docker
Saya menggunakan versi yang menyokong GPU jadi saya memilih yang keempat satu. Sila semak versi yang disokong oleh komputer anda dan kemudian muat turun arahan yang sepadan. >Sintaks: tf.compat.v1.placeholder(dtype,shape=None, name=None)
docker run -it gcr.io/TensorFlow/TensorFlow
Contoh 2:
w = tf.constant([1, 1, 2, 2, 3, 3], shape=[2, 3]) h = tf.constant([7, 7, 9, 9, 11, 11], shape=[3, 2]) #下面语法表示的是两个矩阵相乘 l = tf.matmul(w, h) with tf.Session() as print(sess.run([a,b,c]))
●
dtype: Jenis data elemen dalam tensor, yang akan menjadi input.首先import进行导入 import TensorFlow as tf w = tf.placeholder(dtype=tf.float32) h = tf.placeholder(dtype=tf.float32) sum = tf.add(w,h) ## 填充数据时,使用run()方法的feed_dict参数指定张量对应的值即可,数据格式和字典类似。 with tf.Session() as sess: # 填充占位符,填充形式类字典 res = sess.run(sum, feed_dict={w: [5], h: [6]}) print(res)
● bentuk: Lalai ialah Tiada: bentuk tensor yang akan dimasukkan, ia adalah parameter pilihan. Jika tiada bentuk dinyatakan, seseorang boleh memasukkan tensor sebarang bentuk.
● name: 默认为None:操作的名称,可选参数。 Variable()构造函数希望变量有一个初始值,它可以是任何种类或形状的Tensor。变量的类型和形式由其初始值定义。形状和变量一旦被创建就会被固定下来。 在众多的参数中,需要注意的是validate_shape: 默认为True。如果是False,允许变量以未知的形状值初始化。如果是True,初始值的形状必须是已知的,这是默认的。 2.2.2.1创建变量 最常见的创建变量方式是使用Variable()构造函数。 注意: 我们在进行初始化的时候也可以按如下书写 2.2.2.2分配或修改变量中的元素 我们使用assign()方法来修改这个变量。 示例一:assign用来更新值 输出结果如下: 示例二 : assign_add()用来添加变量值 输出结果如下: 示例三: assign_sub()用来从变量中减去值 2.2.2.3改变变量的形状 tf.reshape()方法用于改变变量的形状。必须传递变量和形状。 输出结果如下: TensorFlow中只有让Graph(计算图)上的节点在Session(会话)中执行,才会得到结果。Session的开启涉及真实的运算,因此比较消耗资源。在使用结束后,务必关闭Session。 方式一进行手动关闭: 方式二进行自动关闭(使用到with语句): 安装好TensorFlow后,初步入门机器学习的同学可以到中国大学MOOC上学习《 TensorFlow 入门实操课程 》,快速了解如何使用TensorFlow建立和训练神经网络、用自然语言处理系统教会机器理解、分析和回应人类的言语 、构建和训练模型等基本理论。我推荐对模型部署有需求的同学可以去了解《 TensorFlow 入门课程 - 部署篇 》,高效掌握在多种生产场景下灵活部署模型的技巧。大家也可以在TensorFlow官网(https://www.php.cn/link/e48382353dc6c66379fb8e1ebf48c5e8)上探索更多学习资源,持续精进机器学习知识与技能! 张云波,活跃的IT网红讲师,拥有学员31w+,国内早期开始和发布苹果Swift、安卓Kotlin、微信小程序、区块链技术的讲师之一。主攻前端开发、iOS开发、Android开发、Flutter开发、区块链Dapp开发,有丰富的大公司和海外工作经验。 Atas ialah kandungan terperinci Mari kita bawa anda melalui pemasangan TensorFlow. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!2.2.2变量
import TensorFlow as tf
v = tf.Variable([1,2,3,4,5,6]) #创建变量v,为一个array
print(v)
#查看v的shape,不是v的值。
## 结果是: <tf.Variable 'Variable:0' shape=(6,), numpy=array([1,2,3,4,5,6],dtype=int32)>
with tf.Session() as sess:
sess.run(v.initializer) ##运行变量的initializer。调用op之前,所有变量都应被显式地初始化过。
sess.run(v) ##查看v的值,结果是:array([1,2,3,4,5,6])
init = tf.global_variables_initializer()#全局变量初始化
with tf.Session() as sess:
sess.run(init)
w = tf.Variable([3, 4,5,6])
w [1].assign(2)
w
<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([3, 2,5,6], dtype=int32)>
## 我们在此处使用assign将数组中的索引为1的值由4更新为2
# create variable
w = tf.Variable([3, 4,5,6])
# using assign_add() function
w.assign_add([1, 1,1,1])
w
<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([4, 5,6,7], dtype=int32)>
## 我们在此处使用assign_add()将数组中的每一个数值加1进行输出
# create variable
w = tf.Variable([3, 4,5,6])
# using assign_add() function
w.assign_sub([1, 1,1,1])
w
<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([2, 3,4,5], dtype=int32)>
## 我们在此处使用assign_sub()将数组中的每一个数值减1进行输出
import TensorFlow as tf
w= tf.Variable([[3, 5, 6, 7]])
tf.reshape(w, shape=(2, 2))
w
<tf.Tensor: shape=(2, 2), ,
numpy=array([[3, 5],[6, 7]], dtype=int32)>
2.2.3 Session会话
import TensorFlow as tf
w= tf.constant(8, dtype=tf.int8)
h = tf.constant(6, dtype=tf.int8)
result= w + h
sess = tf.Session()
sess.run(result)#执行运算
sess.close() #手动关闭session
import TensorFlow as tf
w= tf.constant(8, dtype=tf.int8)
h = tf.constant(6, dtype=tf.int8)
result= w + h
with tf.Session() as sess: #运算结束后session自动关闭
sess.run(res)
作者介绍