1. 程式人生 > >【小白學PyTorch】16 TF2讀取圖片的方法

【小白學PyTorch】16 TF2讀取圖片的方法

【新聞】:機器學習煉丹術的粉絲的人工智慧交流群已經建立,目前有目標檢測、醫學影象、NLP等多個學術交流分群和水群嘮嗑的總群,歡迎大家加煉丹兄為好友,加入煉丹協會。微信:cyx645016617. 參考目錄: [TOC] 本文的程式碼已經上傳公眾號後臺,回覆【PyTorch】獲取。 ## 1 PIL讀取圖片 想要把一個圖片,轉換成RGB3通道的一個張量,我們怎麼做呢?大家第一反應應該是**PIL這個庫**吧 ```python from PIL import Image import numpy as np image = Image.open('./bug1.jpg') image.show() ``` 展示的圖片: ![](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c6ec1cef21344e9ebccb1ad683829fff~tplv-k3u1fbpfcp-zoom-1.image) 然後我們這個image現在是PIL格式的,我們使用```numpy.array()```來將其轉換成numpy的張量的形式: ```python image = np.array(image) print(image.shape) >>>(326, 312, 3) ``` 可以看到,這個第三維度是3。**對於pytorch而言,資料的第一維度應該是樣本數量,第二維度是通道數,第三四是影象的寬高,因此PIL讀入的圖片,往往需要把通道數的這個維度移動到第二維度上才能對接上pytorch的形式。(transpose方法來實現這個功能,這裡不細說)** ## 2 TF讀取圖片 下面是重點啦,對於tensorflow,tf中自己帶了一個**解碼函式**,先看一下我的檔案目錄: ![](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5852066673504167a24dc4686cf998e1~tplv-k3u1fbpfcp-zoom-1.image) ```python import tensorflow as tf images = tf.io.gfile.glob('./*.jpeg') print(images,type(images)) > ['.\\bug1.jpeg', '.\\bug2