鱼C论坛

 找回密码
 立即注册
查看: 2287|回复: 14

我装了tensorflow后发现c盘有重复的目录和文件,另外问下库文件修改源码怎么生效

[复制链接]
发表于 2021-6-24 17:40:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我装了tensorflow后发现C盘有重复的路径,比如:
C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\~ensorflow\python\keras
C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\keras
都是一样的文件,并且修改时间一模一样,也不知道我写的程序运行时到底加载的哪个地方的文件。

另外我想修改C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\keras\datasets这个目录下的文件fashion_mnist.py,我自己的代码运行这个文件里的接口了,修改后发现程序没有变化,怎么让他生效呢?(这个文件在上面两个目录都有,我两个地方都修改了,但是都不生效)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-24 17:52:11 | 显示全部楼层
运行 print(sys.path) 你会看到一堆目录,
python 会优先从相对靠前的目录加载模块。

修改了库文件的代码后只要保存就会立即生效,
你以后使用修改后的模块时会使用你已经修改好的模块。

打字不易,记得设置最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-24 19:10:52 | 显示全部楼层
nahongyan1997 发表于 2021-6-24 17:52
运行 print(sys.path) 你会看到一堆目录,
python 会优先从相对靠前的目录加载模块。

我改的那个模块的源文件有个目录__pycache__,里面有与源文件同名的pyc文件,我查了一下,这是什么字节码文件,我改了源文件后就是没有执行改后的文件,太奇怪了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-24 19:13:54 | 显示全部楼层
本帖最后由 tomorrow918 于 2021-6-24 19:15 编辑

我用print(sys.path)显示下列结果:
['D:\\python', 'D:\\', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\Python37.zip', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\DLLs', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\lib', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\Lib\\site-packages\\Pythonwin', 'C:\\Users\\admin\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\win32', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\win32\\lib', 'D:\\python']
我搜索了我引用的模块的源文件fashion_mnist.py里面的接口load_data,我在这个接口里加入一行 print('aaaaaaaaaaaaaaaaaaaaaaa')  ,运行的时候就是不显示这个调试信息
只有下面两个目录有这个文件:
C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\keras\datasets
C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\~ensorflow\python\keras\datasets
我把这两个目录的文件fashion_mnist.py都加入了上面print('aaaaaaaaaaaaaaaaaaaaaaa')  就是不显示出来。


我自己的代码调用方式:
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-24 20:30:45 | 显示全部楼层
本帖最后由 nahongyan1997 于 2021-6-24 20:36 编辑

放代码吧,不然真不知道

(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

这样编程真的不会报错吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-24 20:36:09 | 显示全部楼层
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

我想说这样编程真的不会报错吗??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-24 20:49:50 | 显示全部楼层
本帖最后由 nahongyan1997 于 2021-6-24 20:51 编辑

为什么我的回答消失了


  1. (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
  2. 我觉得你这条语句是不是报错了。
复制代码


直接这样执行试试:
  1. fashion_mnist.load_data()
复制代码


或者:
  1. keras.datasets.fashion_mnist()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-24 21:05:37 | 显示全部楼层
nahongyan1997 发表于 2021-6-24 20:49
为什么我的回答消失了

语句没问题,返回的就是两个元组,程序功能都没有问题。我就是想改源模块的代码试试效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-24 21:07:03 | 显示全部楼层
tomorrow918 发表于 2021-6-24 21:05
语句没问题,返回的就是两个元组,程序功能都没有问题。我就是想改源模块的代码试试效果

不方便放代码??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-24 21:16:39 | 显示全部楼层

方便呀,关键的我都放了,那我再放一点。

下面是我的代码:
  1. # TensorFlow and tf.keras
  2. import tensorflow as tf
  3. import sys
  4. from tensorflow import keras

  5. # Helper libraries
  6. import numpy as np
  7. import matplotlib.pyplot as plt
  8. #print(sys.path)

  9. print(tf.__version__)
  10. fashion_mnist = keras.datasets.fashion_mnist
  11. (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
复制代码


下面是
  1. """Fashion-MNIST dataset."""

  2. import gzip
  3. import os

  4. import numpy as np

  5. from keras.utils.data_utils import get_file
  6. from tensorflow.python.util.tf_export import keras_export


  7. @keras_export('keras.datasets.fashion_mnist.load_data')
  8. def load_data():
  9. print('aaaaaaaaaaaaaaaaaaaaaaa')  
  10. dirname = os.path.join('datasets', 'fashion-mnist')
  11.   base = 'https://storage.googleapis.com/tensorflow/tf-keras-datasets/'
  12.   files = [
  13.       'train-labels-idx1-ubyte.gz', 'train-images-idx3-ubyte.gz',
  14.       't10k-labels-idx1-ubyte.gz', 't10k-images-idx3-ubyte.gz'
  15.   ]

  16.   paths = []
  17.   for fname in files:
  18.     paths.append(get_file(fname, origin=base + fname, cache_subdir=dirname))

  19.   with gzip.open(paths[0], 'rb') as lbpath:
  20.    
  21.     y_train = np.frombuffer(lbpath.read(), np.uint8, offset=8)

  22.   with gzip.open(paths[1], 'rb') as imgpath:
  23.     x_train = np.frombuffer(
  24.         imgpath.read(), np.uint8, offset=16).reshape(len(y_train), 28, 28)

  25.   with gzip.open(paths[2], 'rb') as lbpath:
  26.     y_test = np.frombuffer(lbpath.read(), np.uint8, offset=8)

  27.   with gzip.open(paths[3], 'rb') as imgpath:
  28.     x_test = np.frombuffer(
  29.         imgpath.read(), np.uint8, offset=16).reshape(len(y_test), 28, 28)

  30.   return (x_train, y_train), (x_test, y_test)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-24 21:21:19 | 显示全部楼层
我自己的代码:
# TensorFlow and tf.keras
import tensorflow as tf
import sys
from tensorflow import keras

# Helper libraries
import numpy as np
import matplotlib.pyplot as plt
#print(sys.path)

print(tf.__version__)
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
后面还有很多,就不贴了,能正常跑



调用的文件: fashion_mnist.py:
import gzip
import os

import numpy as np

from keras.utils.data_utils import get_file
from tensorflow.python.util.tf_export import keras_export


@keras_export('keras.datasets.fashion_mnist.load_data')
def load_data():
      print('aaaaaaaaaaaaaaaaaaaaaaa')

后面还有很多,我只想加了这一行后能打印出来就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-25 12:32:31 | 显示全部楼层
tomorrow918 发表于 2021-6-24 21:21
我自己的代码:
# TensorFlow and tf.keras
import tensorflow as tf

我得说我确实不会用函数修饰符,
但是你把@ 的那一行去掉肯定就能用了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-25 17:14:39 | 显示全部楼层
nahongyan1997 发表于 2021-6-25 12:32
我得说我确实不会用函数修饰符,
但是你把@ 的那一行去掉肯定就能用了。

大神,我去掉了也不行,要不你在线帮我调一下吧,我找不到头绪了。我QQ:85511938
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-25 17:49:30 | 显示全部楼层
tomorrow918 发表于 2021-6-25 17:14
大神,我去掉了也不行,要不你在线帮我调一下吧,我找不到头绪了。我QQ:85511938

这活没有20鱼币能给干嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 01:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表