为了使用 Google Colabs TPU,我需要一个tf.dataset.Dataset. 那么如何在这样的数据集上使用数据增强呢?
更具体地说,到目前为止我的代码是:
def get_dataset(batch_size=200):
datasets, info = tfds.load(name='mnist', with_info=True, as_supervised=True,
try_gcs=True)
mnist_train, mnist_test = datasets['train'], datasets['test']
def scale(image, label):
image = tf.cast(image, tf.float32)
image /= 255.0
label = tf.one_hot(label,10)
return image, label
train_dataset = mnist_train.map(scale).shuffle(10000).batch(batch_size)
test_dataset = mnist_test.map(scale).batch(batch_size)
return train_dataset, test_dataset
Run Code Online (Sandbox Code Playgroud)
这是输入到这个中的:
# TPU Strategy ...
with strategy.scope():
model = create_model()
model.compile(loss="categorical_crossentropy",
optimizer="adam",
metrics=["acc"])
train_dataset, test_dataset = get_dataset()
model.fit(train_dataset,
epochs=20,
verbose=1,
validation_data=test_dataset)
Run Code Online (Sandbox Code Playgroud)
那么,我如何在这里使用数据增强呢?据我所知,我不能使用 tf.keras ImageDataGenerator,对吧?
我尝试了以下方法,但没有成功。
data_generator = ...
model.fit_generator(data_generator.flow(train_dataset, batch_size=32),
steps_per_epoch=len(train_dataset) / 32, …Run Code Online (Sandbox Code Playgroud) 我想以与 zip 类似的方式组合两个主题,但有以下重要区别。
\n我想要一个以这种方式结合两个主题的可观察量。当两者都有发射值时,发射它们的最新值。然后,两者都需要至少再次发射一次,然后发射它们最新的发射值。ETC。
\n两个科目:
\n1 ---------- 2 ----- 3 -- 4 ---------------------- 5 \xe2\x80\x94\xe2\ x80\x94
\n------- a ---------------------- b --- c \xe2\x80\x94 d \xe2\x80\x94-\xe2\x80 \x94\xe2\x80\x94\xe2\x80\x94\xe2\x80\x94
\n可观察的目标:
\n------- 1a ----------------- 4b ---\xe2\x80\x94\xe2\x80\x94\xe2\x80\x94\xe2\ x80\x94-5d\xe2\x80\x94-
\n简单的例子:subject1 发射 5 次,之后 subject2 发射一次。zip 的第一个发射值是对象的两个第一个发射值的对。我想要(subj1-emit5,subj2-emit1)。
\n从 Dataset 对象进行训练时,不支持参数validation_split(从训练数据生成保留集),因为此功能需要能够对数据集的样本进行索引,而这通常使用 Dataset API 是不可能的。
有解决方法吗?如何仍将验证集与 TF 数据集一起使用?
python machine-learning keras tensorflow tensorflow-datasets
在 RxJS 中,我怎样才能实现这一点:我有两个主题。我想要一个以这种方式组合它们的可观察量:当两者都发出值时,发出它们的最新值。然后,两者都需要至少再次发射一次,然后发射它们最新的发射值,等等。
两个科目:
1 ---------- 2 ----- 3 -- 4 ---------------- 5 ------ 6 -----------------
------- a ------------------ b ------ c --------------------- d --------
Run Code Online (Sandbox Code Playgroud)
可观察的目标:
------- 1a ----------------- 2b ----- 3c ------------------- 4d -------
Run Code Online (Sandbox Code Playgroud) 官方 Firebase 调整图像大小扩展在文档中声明:
该扩展程序会自动将以下元数据(如果存在)从原始图像复制到调整大小的图像:缓存控制、内容处置、内容编码、内容语言、内容类型和用户提供的元数据(如果原始元数据包含令牌,则将在调整大小的图像上生成新的 Firebase 存储下载令牌。请注意,您可以选择配置扩展以覆盖已调整大小的图像的 Cache-Control 值。
对我来说重要的部分是:
如果原始元数据包含令牌,则将在调整大小的图像上生成新的 Firebase 存储下载令牌
这是个问题。调整大小后的图像的下载令牌对于所有尺寸都是相同的。但它与原始文件中的标记不同。我希望它们具有与原始文件相同的下载令牌。
请注意,您可以选择配置扩展以覆盖调整大小的图像的 Cache-Control 值
您也可以按照我需要的方式覆盖它吗?因此,调整大小的图像版本具有与原始文件相同的下载令牌。
我遵循了几个教程,他们都在某个时候说“现在去src/environments”。但该文件夹在我的项目中不存在!我尝试删除整个项目并重新创建它,但没有帮助。
我就是这样做的。打开cmd然后:
1. cd my_path
2. npm install -g @angular/cli
3. ng new webversion
--> Angular routing? Yes
--> Stylesheet: CSS
4. cd webversion
5. npm install bootstrap
6. npm install firebase @angular/fire
Run Code Online (Sandbox Code Playgroud)
现在教程开始使用src/environments. 但我就是没有那个文件夹。这是我的angular.json:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"webversion": {
"projectType": "application",
"schematics": {},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/webversion",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": [
"zone.js"
], …Run Code Online (Sandbox Code Playgroud)