安装ubuntu或者centos时,vmware提示"快速安装,然后会使用一个autonist.iso文件来快速安装,并且装完系统重启了,它插入一个操作:安装vm-tools"。
https://www.cnblogs.com/zjutzz/p/6049328.html
断开autonist的连接出现的问题:终端中使用apt-get安装时总是出现各种错误,一味的百度也解决不了,只有连接autonist.iso
安装python3.5,tensorflow目前支持python2.7,python3.5
#sudo apt-get updata
#sudo apt-get install python-dev python-pip
卸载默认python后的重新安装
#sudo apt-get uninstall python
#python --version
#cd /usr/bin
#ls
#cd /
#sudo install python3.5
将默认的python设置为python3.5
先删除默认的python软链接
#sudo rm /usr/bin/python
然后创建一个新的软连接指向需要的python版本
#sudo ln -s /usr/bin/python3.5 /usr/bin/python
#sudo apt-get install python-pip -y
创建pip软连接:
#sudo ln -s /usr/local/bin /usr/bin/pip
#pip --version
如果tensorflow安装失败就是pip有问题,参考上面pip问题的解决
#sudo pip2 install tensorflow==1.9.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
#chomd 777 文件
百度这个问题总是需要装什么vm-tools,可是并没有什么用
在终端执行:
#xrandr
#xrandr -s 1920x1440
第一种:百度常见的解决办法
第二种:
1、打开默认存在的那个小虚拟光驱, 发现里面有一个upgra64(或32)的可执行文件. 将这个小光驱里的文件都复制到有执行权限的目录, 执行upgra64
#./upgra64
2、此时WMware会提示你是否断开当前光驱的连接, 选择是.
3、然后会发现原先的小光驱不见了, 取而代之的是一个Vmware-Tools的光驱
4.对vmtools解压缩
#sudo tar -zxvf VMwareTools-9.6.1-1378637.tar.gz
进入解压后的文件夹执行安装
#sudo ./vmware-install.pl
之后一路回车何输入Y就可以解决了(一般是没有必要安装百度上的某些说法再去建立路径的,除非某一步实在过不去),具体流程可灵活些,有些步骤我可能忘了。出现
Enjoy
–the VMware tam
说明安装成功。可以参考以下连接
https://www.cnblogs.com/labc/articles/5991326.html
到此为之,ubuntu中的环境就弄好了。
新建data_preprocessing.py文件,撰写代码实现自动对原始数据集进行大小裁剪以及分集(训练集、验证集、测试集)的处理,首先导入模块,然后,构造处理图像尺寸的函数image_split()。参数:
original_path——图片所在文件夹的原始路径
species——植物名字
stardand_path——保存路径
set——集名
inds——图片序列号:
from PIL import Image
import os
#如果不加以下两行可能会报错OSError.image file is truncated(8 bytes not processed)
import PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES=True
import random
def image_split(original_path,species,stardand_path,set,inds):
for img in inds:
# 以原始路径 植物名字 序列号为图片路径打开图片
plant_path = os.path.join(original_path,species,img)
in_img = Image.open(plant_path)
in_img = in_img.convert('RGB')
out_img = in_img.resize((224,224))
#以原始路径 集名 植物名字为该文件集路径
set_path = os.path.join(stardand_path,set,species)
if not os.path.exists(set_path):
os.makedirs(set_path)
out_img.save(os.path.join(set_path,img))
#构造主函数
def main():
#读取图片
original_path = 'bjfu_plants'#图片原始路径
stardand_path = 'PlantsData'#图片分集后的路径
for species in os.listdir(original_path):#植物名list
files = sorted(os.listdir(os.path.join(original_path,species)))
img_num = len(files)
test_num = int(img_num/10*2)#测试数量
valid_num = int((img_num-test_num)/10*2)#验证数量
train_num = int(img_num-test_num-valid_num)#训练数量
print('%s:%d,train:%d,valid:%d,test:%d' %(species,img_num,train_num,valid_num,test_num))
random.shuffle(files)#打乱图片顺序
image_split(original_path,species,stardand_path ,"train",files[0:train_num])
print("%s finish!"%os.path.join(stardand_path,'train',species))#训练集
image_split(original_path,species,stardand_path,'valid',files[train_num:train_num+valid_num])
print("%s finish!"% os.path.join(stardand_path,'valid',species))#验证集
image_split(original_path, species, stardand_path, 'test', files[train_num + valid_num:])
print("%s finish!"%os.path.join(stardand_path,'test',species))#测试集
if __name__=='__main__':
main()
本次实