阿雪的学习记录|在tensorflow复现unet的两个问题

问题1:

ModuleNotFoundError: No module named ‘tensorflow.compat.v2‘

这个主要是因为你没装keras,或者没有安装正确版本的keras。
输入pip list看一下有没有keras,如果有的话注意一下版本,去https://docs.floydhub.com/guides/environments/查看一下你的tensorflow对应的keras版本,出现了这个错误就说明它大概率是不对应的,用pip uninstall keras -y卸载原来的keras,再用pip install keras==version下载,这里version对应你的版本
也可以直接看这张图,但我不知道这样直接贴出来好不好,不好我删图

比如我的tensorflow是1.13.1,对应2.2.4,所以就是pip install keras==2.2.4
如果pip list发现没有keras,就直接下载对应版本即可

问题2:

ModuleNotFoundError: No module named 'nets.unet'

这个问题我找了千万遍都没解决,什么缺C++库啊,复制slim下的nets文件夹到项目路径啊……全都没解决,关键是你要看你缺不缺这C++库呐,而且GitHub上面的unet代码项目路径里都有nets文件夹,你的tensorflow底下的slim里的nets文件夹库的那一堆.py文件对这个项目没用呐,(这里顺便提一下slim文件夹位置,好多人找不着.../anaconda/Lib/site-packages/tensorflow/models/research/slim
呐最后自己琢磨了一下,我的问题出现在开始那行,原代码是这样的:

from nets.unet import mobilenet_unet

然后我的项目文件构成是这样的

-Unet_Mobile
	predict.py
	test.py
	train.py
	+dataset2
	+img
	+img_out
	+logs
	-nets
		unet.py
		mobilenet.py

可以看懂叭,然后你运行出错的这个train.py文件和nets文件夹同目录,按理说用原来那个代码,from nets.unet应该就相当于深入一层路径,到nets文件夹里从unet.py里找函数,结果就是没成,我也不知道为啥,可能缺个什么配置吧,但是最简单的解决办法就是,把你需要找的这个.py文件(比如这里的unet.py)复制到你运行的这个文件同级目录下(此处是train.py),然后把from nets.unet改成from unet
修改之后的项目文件构成:

-Unet_Mobile
	predict.py
	test.py
	train.py
	unet.py
	+dataset2
	+img
	+img_out
	+logs
	+nets

这里你哪个函数导不进去就把哪个函数所在的.py文件放到项目文件同级目录下
修改之后的代码:

from unet import mobilenet_unet

每天学一点点,就能少菜一点点,加油( •̀ ω •́ )y

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Matlab中,你可以使用scatter函数来绘制散点图,使用convhulln函数来计算凸包的坐标,然后使用patch函数将坐标点连接成面,形成包络图。下面是一个示例代码: ```matlab A = importdata('E:\各种数据集\220417\y001.txt'); B = importdata('E:\各种数据集\220417\001yy.txt'); Ax = A(:, 1); Ay = A(:, 2); Az = A(:, 3); Bx = B(:, 1); By = B(:, 2); Bz = B(:, 3); figure; scatter3(Ax, Ay, Az, 'filled', 'MarkerFaceColor', 'r'); hold on; scatter3(Bx, By, Bz, 'filled', 'MarkerFaceColor', 'b'); f = convhulln(A); patch('vertices', A, 'faces', f, 'facecolor', 'r', 'FaceAlpha', 0.3); f1 = convhulln(B); patch('vertices', B, 'faces', f1, 'facecolor', 'b', 'FaceAlpha', 0.3); axis equal; xlabel('X'); ylabel('Y'); zlabel('Z'); title('散点图绘制包络图'); ``` 这段代码会将两组数据点A和B绘制成散点图,并使用convhulln函数计算出A和B的凸包坐标,然后使用patch函数将凸包坐标连接成面,形成包络图。你可以根据自己的数据文件路径进行修改。 #### 引用[.reference_title] - *1* [阿雪学习记录|MATLAB绘制三维离散点包络体](https://blog.csdn.net/baixue1183/article/details/125013589)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值