Issue while fetching react hooks via named export , import React , {useState} from 'react' ,  throwing's error

In example at all other places, hooks are not imported via named export, instead directly used like React.useState and it works fine.
like in mf-red/src/product-page.tsx
But when i tried importing directly like below, it failed during runtime
import React , {useState} from "react";
Uncaught (in promise) SyntaxError: The requested module 'blob:
http://localhost:xxx/1b2bd859-cb42-4c0f-9abc-f62911ec2609
' does not provide an export named 'useState'
Please suggest, if this is a valid or not,or any solution for this as third part depdency uses like this

Sorry I cannot really help you on this one as the question is tightly bound to native federation / how the build adapter works. So any inquiry on this should be placed to native federation people.
What I can tell you is that React should be used exactly as shown in the example. As React is used as an ESM (but originally it's not - its a CJS) it behaves bundler specific. In case of the shown configuration you'll have essentially just the default export - nothing else. So just use the default export.
The assumption that you make is that it behaves as the original CJS, which has a star export (and not a default export) - thus things like useState can be imported directly. This would only work of the ES interop is active - providing the star export as a decomposition from the default export. As mentioned, in the configuration this is not the case.
In Piral, as an example, we automatically patch this (so ES interop is active). Here, using just plain native federation / the given build adapter, it is not patched and you have to deal with the shown behavior.
Hope that helps!


Are a Date Field and a Currency Field planned to be implemented?

Hi John,
again :P, this time for a question:
Are a Date Field and a Currency Field planned to be implemented?
Thanks for your time,
-- Rob

Hi @RobertoMalatesta 'pure-form' already supports "format": "date" but currency needs adding.
As a workaround, you can use a custom URN as the value of format to create any tag you like, for example the JSON Schema entry:
"unlockPin": {
    "title": "Enter PIN to unlock",
    "type": "string",
    "pattern": "[0-9]*",
    "format": "custom:input;type=text,data-action=confirmpin,data-trigger=keyup"
}

Creates:
<input name="unlockPin" type="text" data-action="confirmpin"
    data-trigger="keyup" pattern="[0-9]*" />

To break the URN apart:

custom:
Tells pure-form to create a custom HTML element

input
The second param is the HTML tagName to create

type=text,data-action=confirmpin,data-trigger=keyup
Followed by the HTML attributes and values


[3.2] Add separate simulator flag for iOS build, change main library to xcframework.

Same as #45277 for 3.2.

Thanks!

Thanks!


Icon request: Unibeautify

[ ] I'm sure this issue is not a duplicate.
[ ] I'm submitting an icon request:

Type: extension
Icon Name: Unibeautify
Sample original Icon: logo
Extensions: unibeautify https://github.com/Unibeautify/vscode
Filenames: .unibeautifyrc, .unibeautifyrc.json, .unibeautifyrc.yaml, .unibeautifyrc.yml, .unibeautifyrc.js or unibeautify.config.js (from cosmiconfig)
Language ids: ?

What if the theme is a dark/light theme? Is there a fallback logo that I can set, let‘s say a white icon for a dark theme and vice versa?


[IOTDB-1673] CLI refactor

Upgrade to Jline3.

Remove the CLI implementation for Windows since Jline3 is platform-independent.

Support persisted command history.

Support multi-line edition.

Exit by pressing CTRL+D or CTRL+C twice.

Add auto pair and autosuggestion widgets.

Add keyword highlighter and completer.

Coverage increased (+0.03%) to 67.274% when pulling ed5058c35f193e6382faab8e39248301b6f989d1 on cornmonster:feature/cli_refactor into 14505c175a8c1e98535757027f36210b07de213c on apache:master.

Hi, would you like to update the version in LICENSE-binary?
https://github.com/apache/iotdb/blob/master/LICENSE-binary

Hi, would you like to update the version in LICENSE-binary?
https://github.com/apache/iotdb/blob/master/LICENSE-binary

No problem.


totem: Add missing python3 dependencies for plugins

Things done

[x] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[x] Tested execution of all binary files (usually in ./result/bin/)

Totem could not load its plugins because of missing python3 dependencies, and because libpeas was not built with python3 support.
I double-checked, and AFAICT there's no application using libpeas with python2 plugins.
/cc @lethalman @DamienCassou

Uh, no travis build?

@lethalman indeed, weird.

It's ok, trusted merge :) thanks.

@DamienCassou Could you apply this commit to the gnome3.20 branch?


Responsiveness issue on new messenger design

Present on 3.4.6
Issue arises when @ media (max-width: 900px) comes into play.
Active contacts:

Message requests:

Just checked it out and am hesitant to fix as it looks like a bug on messenger.com (not the electron app).
Just worried that once Facebook fix it - it might have flow on effects on the fix applied on the Goofy app.  I think we should wait this one out (unless I'm missing something)?

Hmmm, it does seem so, I never thought to check messenger.com
I'd leave it to Facebook to fix their mess.

No worries, thanks 🙂


[1.11.x/1.12] Mod makes snow look like rain. (Tough As Nails Incompatibility)

Mod Version: DynamicSurroundings-1.12-<IP_ADDRESS>
Forge Version: 2404
Description:
So, I think it has to do with tough as nails. I'm in a biome, in which is supposed to snow, not naturally, but because toughasnails has made it winter, it snows there.
But the precipitation is rain (texture and sound) but snow appears in the ground
The first one hasn't got dynamicsurroundings but the second one does.

Fix pushed to CurseForge.


chore: install dependabot

Dependabot will check for dependencies update weekly

My only worry is that it will update dependencies, but we won't have a mechanism to review or test for breaking changes. Does this only do minor/patch updates?
We're finding tons of issues updating these right now.

The bot will not commit directly to master/develop.  It will only create PR, which will require the changes passing all tests and code reviews.


purpose of ports

neo-cli listens to following 3 ports (mainnet config) -

10332 - RPC Port
10333 - P2P
10334 - P2P Ws

If I want to secure my node, 10332 is behind firewall and accessible to me only.
Which other port I need to make publicly accessible in order to enable syncing. Do I need to open both the ports (10333, 10334), or just 10333 will suffice

With 10333 is enough
You can follow this useful guide
https://github.com/CityOfZion/standards/blob/master/nodes.md


error specifying default camera

I am trying to get this working on a ARM64 rtos version of Ubuntu 22 on a raspberry pi 4.   I don't see how to specify which camera to use in the run command. it appears the default camera is /dev/video21 instead of /dev/video0.
Using the latest main branch.
I also see no documentation for this node, so I don't recall how I ever figured out how to invoke it.
ubuntu@ubuntu:~/ros2_ws$ ros2 run camera_ros camera_node

[0:34:59.130093780] [2515]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+106-34b248c8
[0:34:59.164114462] [2527]  WARN RPiSdn sdn.cpp:39 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:34:59.166427593] [2527]  WARN RPI vc4.cpp:344 Mismatch between Unicam and CamHelper for embedded data usage!
[0:34:59.168108655] [2527]  INFO RPI vc4.cpp:398 Registered camera /base/soc/i2c0mux/i2c@1/imx219@10 to Unicam device /dev/media0 and ISP device /dev/media2
[INFO] [1699464734.248255669] [camera]:
>> cameras:
   0: imx219 (/base/soc/i2c0mux/i2c@1/imx219@10)
[WARN] [1699464734.248642815] [camera]: no camera selected, using default: "/base/soc/i2c0mux/i2c@1/imx219@10"
[INFO] [1699464734.249644789] [camera]:
>> stream formats:
   - Pixelformat: NV21 (64x64 - 3280x2464)
   - Pixelformat: YUV420 (64x64 - 3280x2464)
   - Pixelformat: NV12 (64x64 - 3280x2464)
   - Pixelformat: YVU420 (64x64 - 3280x2464)
   - Pixelformat: XBGR8888 (64x64 - 3280x2464)
   - Pixelformat: BGR888 (64x64 - 3280x2464)
   - Pixelformat: RGB888 (64x64 - 3280x2464)
   - Pixelformat: XRGB8888 (64x64 - 3280x2464)
   - Pixelformat: RGB565 (64x64 - 3280x2464)
   - Pixelformat: YVYU (64x64 - 3280x2464)
   - Pixelformat: YUYV (64x64 - 3280x2464)
   - Pixelformat: VYUY (64x64 - 3280x2464)
   - Pixelformat: UYVY (64x64 - 3280x2464)
[WARN] [1699464734.249895676] [camera]: no pixel format selected, using default: "XBGR8888"
[INFO] [1699464734.250061934] [camera]:
>> XBGR8888 format sizes:
   - 160x120
   - 240x160
   - 320x240
   - 400x240
   - 480x320
   - 640x360
   - 640x480
   - 720x480
   - 768x480
   - 854x480
   - 720x576
   - 800x600
   - 960x540
   - 1024x576
   - 960x640
   - 1024x600
   - 1024x768
   - 1280x720
   - 1152x864
   - 1280x800
   - 1360x768
   - 1366x768
   - 1440x900
   - 1280x1024
   - 1536x864
   - 1280x1080
   - 1600x900
   - 1400x1050
   - 1680x1050
   - 1600x1200
   - 1920x1080
   - 2048x1080
   - 1920x1200
   - 2160x1080
   - 2048x1152
   - 2560x1080
   - 2048x1536
   - 2560x1440
   - 2560x1600
   - 2960x1440
   - 2560x2048
   - 3200x1800
   - 3200x2048
   - 3200x2400
[WARN] [1699464734.250311303] [camera]: no dimensions selected, auto-selecting: "3200x2400"
[WARN] [1699464734.250561745] [camera]: stream configuration adjusted from "3200x2400-XBGR8888" to "3200x2400-XBGR8888"
[0:34:59.170919765] [2515]  INFO Camera camera.cpp:1183 configuring streams: (0) 3200x2400-XBGR8888
[0:34:59.171740685] [2527]  INFO RPI vc4.cpp:556 Sensor: /base/soc/i2c0mux/i2c@1/imx219@10 - Selected sensor format: 3280x2464-SBGGR10_1X10 - Selected unicam format: 3280x2464-pBAA
[INFO] [1699464734.253322059] [camera]: camera "/base/soc/i2c0mux/i2c@1/imx219@10" configured with 3200x2400-XBGR8888 stream
[WARN] [1699464734.256726368] [camera]: control AeFlickerPeriod (10) not handled
[WARN] [1699464734.257336789] [camera]: control NoiseReductionMode (44) not handled
[WARN] [1699464734.258103062] [camera]: control AeFlickerMode (9) not handled
[0:35:00.196569822] [2527] ERROR V4L2 v4l2_videodevice.cpp:1248 /dev/video21[27:cap]: Not enough buffers provided by V4L2VideoDevice
[0:35:00.225450892] [2527] ERROR V4L2 v4l2_videodevice.cpp:1241 /dev/video21[27:cap]: Unable to request 1 buffers: Cannot allocate memory
[0:35:00.225539799] [2527] ERROR RPI pipeline_base.cpp:662 Failed to allocate buffers
terminate called after throwing an instance of 'std::runtime_error'
  what():  failed to start camera
[ros2run]: Aborted

The available cameras are listed under >> cameras:. You can request a specific camera ID via the parameter camera. By default, the first camera (ID 0) will be selected. Since only a single camera has been detected (imx219).
I think the issue you are facing is related to memory: Unable to request 1 buffers: Cannot allocate memory.

how can I specify a smaller format size, it is defaulting to 3200x2400?
On Wed, Nov 8, 2023 at 10:07 AM Christian Rauch @.***>
wrote:

The available cameras are listed under >> cameras:. You can request a
specific camera ID via the parameter camera. By default, the first camera
(ID 0) will be selected. Since only a single camera has been detected (
imx219).
I think the issue you are facing is related to memory: Unable to request
1 buffers: Cannot allocate memory.
—
Reply to this email directly, view it on GitHub
https://github.com/christianrauch/camera_ros/issues/17#issuecomment-1802398585,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHZ375CIF2N4ZM35ECJO2LYDPC53AVCNFSM6AAAAAA7DJAS4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBSGM4TQNJYGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

how can I specify a smaller format size, it is defaulting to 3200x2400?

That is handled via the parameters width and height:
ros2 run camera_ros camera_node --ros-args -p width:=640 -p height:=480

I guess I should start documenting these parameters :-)

Thank you. I appreciate your support. I keep asking Dave Crawley to send
you a Magni, I know you would have Humble running on it in a week.
Some old guys like me still need the docs. I wonder if there needs to be a
camera.yaml file somewhere to specify parameters.
On Wed, Nov 8, 2023, 12:41 PM Christian Rauch @.***>
wrote:

how can I specify a smaller format size, it is defaulting to 3200x2400?
That is handled via the parameters width and height:
ros2 run camera_ros camera_node --ros-args -p width:=640 -p height:=480
I guess I should start documenting these parameters :-)
—
Reply to this email directly, view it on GitHub
https://github.com/christianrauch/camera_ros/issues/17#issuecomment-1802643812,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHZ376CYNSEMNOCUX767YDYDPVANAVCNFSM6AAAAAA7DJAS4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBSGY2DGOBRGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

It is working now. Even compressed image transport. Will post notes in
Ubiquity GitHub.
On Wed, Nov 8, 2023, 12:55 PM Alan Federman @.***> wrote:

Thank you. I appreciate your support. I keep asking Dave Crawley to send
you a Magni, I know you would have Humble running on it in a week.
Some old guys like me still need the docs. I wonder if there needs to be a
camera.yaml file somewhere to specify parameters.
On Wed, Nov 8, 2023, 12:41 PM Christian Rauch @.***>
wrote:

how can I specify a smaller format size, it is defaulting to 3200x2400?
That is handled via the parameters width and height:
ros2 run camera_ros camera_node --ros-args -p width:=640 -p height:=480
I guess I should start documenting these parameters :-)
—
Reply to this email directly, view it on GitHub
https://github.com/christianrauch/camera_ros/issues/17#issuecomment-1802643812,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHZ376CYNSEMNOCUX767YDYDPVANAVCNFSM6AAAAAA7DJAS4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBSGY2DGOBRGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Config.unobserve is deprecated.

Config::unobserve no longer does anything. Call .dispose() on the object returned by Config::observe instead.
Config.unobserve (/Applications/Atom.app/Contents/Resources/app/src/config.js:374:19)
LinterWriteGood.destroy (/Users/kepler/.atom/packages/linter-write-good/lib/linter-write-good.coffee:52:16)

Sorry about the cookie-cutter issue, just updated the package to 0.3.0 and this popped up at startup.

Thanks for the ticket!

Fixed in 0.3.1


mingw fixes (not only) for Windows

This restores the VCPKG_CROSSCOMPILING change which was authored by you in vcpkg PR 18927, and fixes the actual issues for mingw:

The system name is "windows" not "mingw". Fixes the DLL binary names.
Omit '' from list of standard libraries. Fixes native build failures.

Would be glad if you would pick this up for you PR.
Tested with harfbuzz:x64-mingw-dynamic on Windows.

I think the real problem for the native windows builds is that no host compiler is set. Before this change windows -> windows was no cross compilation, now it is, but fribidi want's to build something on the host system and no host compiler is set. Befor this change this was not a problem because it was no cross build

I restored your VCPKG_CROSSCOMPILING change (without VCPKG_TARGET_IS_MINGW), so my non-cross mingw build is a native meson build again.

Yeah but the x86-windows-* and all the other windows triplets that are not x64-windows are now nat native any more

I see. Well then you have to rollback that line. It is your original work. It is not relevant for mingw.

Maybe be can add an AND condition with VCPKG_CROSSCOMPILING, so (... OR VCPKG_TARGET_IS_MINGW) AND VCPKG_CROSSCOMPILING

On a second look on CPU architecture, it is fragile to rely on matching names in BUILD_CPU_FAM MATCHES "${HOST_CPU_FAM}" to cover x86 on x64 (aka x86_64) or arm on arm64 build machine, unless designed that way by meson.
The explicit solution would be setting a list variable with native-compatible build machines for each target CPU.

Or you then always use cross compiling and set the host compiler. But the you need get_cmake_vars for the host triplet

build machine
target
VCPKG_CROSSCOMPILING
meson cross

x86-windows
x86-windows
no
no

x64-windows
x86-windows
YES
no

x64-mingw
x86-mingw
YES
YES

x64-mingw
x64-mingw
no
no

x64-linux
x86-mingw
YES
YES

android
YES
YES

ios
YES
YES

What about macOS arm vs x64?

What do you mean with the meson cross column?

meson cross was meant to indicate whether a cross configuration is mandatory for meson.

Or you then always use cross compiling and set the host compiler. But the you need get_cmake_vars for the host triplet

Ports that really need host's get_cmake_vars for meson might be required to have a host dependency on some port that provides that information.

Maybe be can add an AND condition with VCPKG_CROSSCOMPILING, so (... OR VCPKG_TARGET_IS_MINGW) AND VCPKG_CROSSCOMPILING

For now, the mildest change for mingw is looking at WIN32:
 if(NOT BUILD_CPU_FAM MATCHES "${HOST_CPU_FAM}" OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_UWP OR (VCPKG_TARGET_IS_MINGW AND NOT WIN32))`

For x64 on arm mac it seems that no cross config is needed. I don't have a intel mac to test the other way (and don't want to read the documentation 😅).

Ports that really need host's get_cmake_vars for meson might be required to have a host dependency on some port that provides that information.

But for example the fribidi don't support setting a host dependency, you must provide a host compiler

For now, the mildest change for mingw is looking at WIN32

Ok then I will use that


Set up GitHub actions for project

Build should be working using JAR, and Docker on GitHub Actions.

Adding action to build branch


don't return nil values as reviewers

to prevent following exception:
	from lib/danger_plugin.rb:53:in `block in run'
	from lib/danger_plugin.rb:53:in `map'
	from lib/danger_plugin.rb:53:in `run'

On some new repos this plugin would fail because it would not be able to detect reviewers and return nil values that can't be concatenated with strings to make the mention.

Oops, I missed this PR - thanks!

@orta could you do a new release? I'm still hitting this in some cases.

Shipped 👍

Thank you!

2017 v 19:39, Orta<EMAIL_ADDRESS>

Shipped 👍
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Multiple permutations into a VM are generated incorrectly

Currently, linking into a VM submachine with more than two permutations generates the wrong constraints.
As an example, the following permutations are generated for a simple case with two operations (add/sub):
main.instr_add { 2, main.X, main.Y, main.Z } is main_arith.instr_return { main_arith._operation_id, main_arith._input_0, main_arith._input_1, main_arith._output_0 };
main.instr_sub { 4, main.X, main.Y, main.Z } is main_arith.instr_return { main_arith._operation_id, main_arith._input_0, main_arith._input_1, main_arith._output_0 };

RHS selector needs to be unique for the valid rows of each operation.

maybe we can use a single permutation per caller machine, the original permutations issue might be useful #1073


Question regarding latest (beta.43) WithStyles update.

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

Sample code to compile.
Current Behavior

does not compile with that error
Type '{ caption: string; }' has no properties in common with type 'IntrinsicAttributes & StyledComponentProps<"content"> & { children?: ReactNode; }'.

Steps to Reproduce (for bugs)

Try to compile the sample code

import { withStyles, WithStyles } from 'material-ui';
import * as React from 'react';
import './App.css';

interface IStyle {
  content: any;
}

interface IComponentProps {
  caption: string;
}

type ComponentProps = IComponentProps & WithStyles<'content'>;

const decorate = withStyles((theme): IStyle => ({
  content: {
    margin: 4
  }
}));

const Component = (props: ComponentProps) => {
  return
Hello {props.caption}

}

const StyledComponent = decorate(Component);

class App extends React.Component {
  public render() {
    return (


User Preferences for select vendors and open source project stacks not available

In user feedback sessions on version 1 prototype in July-Aug 2016, users asked about having a user preferences mode to store their preferred "packages" by vendor or open source project (osp).

a static web view launcher has been provided for the community edition on GitHub
a newer UI version is under evaluation for the private edition
data model does support user preferences, but it is not integrated or even unit tested yet


SCM input border is cropped

Probably from https://github.com/microsoft/vscode/pull/112316
My settings:

VS Code Zoom: 0
Windows scaling: 125%

I'm reproing the original issue (negative zoom case now)


null value over CustomResponse -

Hi Brock and Dominick.
Could you please let me know, is there any reason on why i can't really pass a null value over a custom response?
context.Result.CustomResponse = new Dictionary<string, object>{                         {"customerId", (user.ManagerId=="0"||user.CustomerId==null)?null:user.CustomerId},                         {"managerId", (user.ManagerId=="0"||user.ManagerId==null)?null:user.ManagerId},                         {"userId", string.IsNullOrEmpty(user.SubjectId)?null:user.SubjectId },                         {"memberId",  string.IsNullOrEmpty(user.MemberId)?null:user.MemberId} }
This will throws object is not set to reference
I am in a middle of java to .net migration and the java microservices require null value to be passed as a custom response
is there any work around for this issue? it works well with a string values thou but the java microservices complain about "null" because its not null

I'm missing the context of this question. Can you elaborate?

when creating a custom response, you will require to assign a new Dictionary<string, object> as the custom response. in this dictionary can we add a null as a value?
in short something like this
context.Result.CustomResponse = new Dictionary<string, object>{ {"customerId", null}}
because when i try to do this, it will throw null reference exception, is there any workaround to handle this?

when creating a custom response

when? during the token request/response processing, i'm guessing?

correct, it happen during the token response. my best guess for this issue probably it happen because of the Dictionary<string,object> did not accept null value.

probably to solve this issue you might want to change the Dictionary to a nullable dictionary?

Give it a try including test coverage. If it works, this can be the basis for a PR.

did you try it?

Hi Dom, Sorry I as busy over my project, I will try it over the week end i will let you know

Hi Domminick and Brock I have tested my proposed solution however I dont think we can change it to nullable dictionary as it does not supported in C#, you can assign a null value on TValue but not the dictionary itself as for this moment for my project we have solved it internally by using string empty instead of null.

OK - good.


训练报错

norm_cfg = dict(type='BN', requires_grad=True)
model = dict(
type='EncoderDecoder',
backbone=dict(
delete=True,
type='Vanillanet',
act_num=3,
dims=[512, 512, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 4096, 4096],
strides=[1, 2, 2, 1, 1, 1, 1, 1, 2, 1],
out_indices=[1, 2, 8, 9],
norm_cfg=dict(type='BN', requires_grad=True),
with_extra_norm=True),
neck=dict(
type='FPN',
in_channels=[512, 1024, 2048, 4096],
out_channels=1024,
num_outs=4),
decode_head=dict(
type='SegformerHead',
in_channels=[128, 256, 512, 1024],
in_index=[0, 1, 2, 3],
channels=512,
dropout_ratio=0.1,
num_classes=2,
norm_cfg=dict(type='BN', requires_grad=True),
align_corners=False,
loss_decode=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0)),
train_cfg=dict(),
test_cfg=dict(mode='whole'))
dataset_type = 'WaterDataset'
data_root = 'E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl'
img_norm_cfg = dict(
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
crop_size = (512, 512)
train_pipeline = [
dict(type='LoadImageFromFile'),
dict(type='LoadAnnotations', reduce_zero_label=False),
dict(type='Resize', img_scale=(512, 512), ratio_range=(0.5, 2.0)),
dict(type='RandomCrop', crop_size=(512, 512), cat_max_ratio=0.75),
dict(type='RandomFlip', prob=0.5),
dict(type='PhotoMetricDistortion'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size=(512, 512), pad_val=0, seg_pad_val=255),
dict(type='DefaultFormatBundle'),
dict(type='Collect', keys=['img', 'gt_semantic_seg'])
]
test_pipeline = [
dict(type='LoadImageFromFile'),
dict(
type='MultiScaleFlipAug',
img_scale=(512, 512),
flip=False,
transforms=[
dict(type='Resize', keep_ratio=True),
dict(type='RandomFlip'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]
data = dict(
samples_per_gpu=8,
workers_per_gpu=2,
train=dict(
type='WaterDataset',
data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl',
img_dir='JPEGImages',
ann_dir='SegmentationClass',
split='ImageSets/Segmentation/train.txt',
pipeline=[
dict(type='LoadImageFromFile'),
dict(type='LoadAnnotations', reduce_zero_label=False),
dict(type='Resize', img_scale=(512, 512), ratio_range=(0.5, 2.0)),
dict(type='RandomCrop', crop_size=(512, 512), cat_max_ratio=0.75),
dict(type='RandomFlip', prob=0.5),
dict(type='PhotoMetricDistortion'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size=(512, 512), pad_val=0, seg_pad_val=255),
dict(type='DefaultFormatBundle'),
dict(type='Collect', keys=['img', 'gt_semantic_seg'])
]),
val=dict(
type='WaterDataset',
data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl',
img_dir='JPEGImages',
ann_dir='SegmentationClass',
split='ImageSets/Segmentation/val.txt',
pipeline=[
dict(type='LoadImageFromFile'),
dict(
type='MultiScaleFlipAug',
img_scale=(512, 512),
flip=False,
transforms=[
dict(type='Resize', keep_ratio=True),
dict(type='RandomFlip'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]),
test=dict(
type='WaterDataset',
data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl',
img_dir='JPEGImages',
ann_dir='SegmentationClass',
split='ImageSets/Segmentation/val.txt',
pipeline=[
dict(type='LoadImageFromFile'),
dict(
type='MultiScaleFlipAug',
img_scale=(512, 512),
flip=False,
transforms=[
dict(type='Resize', keep_ratio=True),
dict(type='RandomFlip'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]))
log_config = dict(
interval=50, hooks=[dict(type='TextLoggerHook', by_epoch=False)])
dist_params = dict(backend='nccl')
log_level = 'INFO'
load_from = 'E:\zbl\mmsegmentation-0.23.0\pretrain\vanillanet_12.pth'
resume_from = None
workflow = [('train', 1), ('val', 1)]
cudnn_benchmark = True
optimizer = dict(
constructor='LearningRateDecayOptimizerConstructor',
type='AdamW',
lr=0.00013,
betas=(0.9, 0.999),
weight_decay=0.05,
paramwise_cfg=dict(decay_rate=0.6, decay_type='layer_wise', num_layers=6))
optimizer_config = dict(grad_clip=None)
lr_config = dict(
policy='step',
warmup='linear',
warmup_iters=500,
warmup_ratio=0.001,
step=[15000, 20000])
runner = dict(type='IterBasedRunner', max_iters=20000)
checkpoint_config = dict(by_epoch=False, interval=2000)
evaluation = dict(interval=2000, metric='mIoU')
work_dir = 'logs_vanillanet/pretrain_12'
gpu_ids = [0]
auto_resume = False

报错信息
Traceback (most recent call last):
File "E:/zbl/mmsegmentation-0.23.0/tools/train.py", line 244, in
main()
File "E:/zbl/mmsegmentation-0.23.0/tools/train.py", line 233, in main
train_segmentor(
File "E:\zbl\mmsegmentation-0.23.0\mmseg\apis\train.py", line 174, in train_segmentor
runner.run(data_loaders, cfg.workflow)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\runner\iter_based_runner.py", line 134, in run
iter_runner(iter_loaders[i], **kwargs)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\runner\iter_based_runner.py", line 61, in train
outputs = self.model.train_step(data_batch, self.optimizer, **kwargs)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\parallel\data_parallel.py", line 75, in train_step
return self.module.train_step(*inputs[0], **kwargs[0])
File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\segmentors\base.py", line 138, in train_step
losses = self(**data_batch)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\runner\fp16_utils.py", line 110, in new_func
return old_func(*args, **kwargs)
File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\segmentors\base.py", line 108, in forward
return self.forward_train(img, img_metas, **kwargs)
File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\segmentors\encoder_decoder.py", line 139, in forward_train
x = self.extract_feat(img)
File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\segmentors\encoder_decoder.py", line 67, in extract_feat
x = self.neck(x)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\runner\fp16_utils.py", line 110, in new_func
return old_func(*args, **kwargs)
File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\necks\fpn.py", line 167, in forward
laterals = [
File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\necks\fpn.py", line 168, in
lateral_conv(inputs[i + self.start_level])
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\cnn\bricks\conv_module.py", line 201, in forward
x = self.conv(x)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\conv.py", line 446, in forward
return self._conv_forward(input, self.weight, self.bias)
File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\conv.py", line 442, in _conv_forward
return F.conv2d(input, weight, bias, self.stride,
RuntimeError: Given groups=1, weight of size [1024, 512, 1, 1], expected input[8, 1024, 64, 64] to have 512 channels, but got 1024 channels instead
进程已结束,退出代码1

试验了vanillanet12和vanillanet13，都报同样的错
期望尽快解答！感谢！

hi, 看起来你的out_indices=[1, 2, 8, 9]应该改成out_indices=[0, 1, 7, 9]，不然backbone其实return的4个stage的channel就是[1024, 2048, 4096, 4096]，和FPN的输入对不上。

您好，感谢回答！！
我现在又碰上了另一个问题：加载预训练权重无法匹配！无论是从load_from加载或是从配置文件model里加载，都显示WARNING - No pre-trained weights for Vanillanet, training start from scratch！
期待解答！感谢！

2023-06-30 16:38:52,882 - mmseg - INFO - OpenCV num_threads is `
2023-06-30 16:38:58,558 - mmseg - INFO - Distributed training: False
2023-06-30 16:38:59,138 - mmseg - INFO - Config:
norm_cfg = dict(type='BN', requires_grad=True)
model = dict(
type='EncoderDecoder',
pretrained='E:/zbl/mmsegmentation-0.23.0/pretrain/vanillanet_13.pth',
backbone=dict(
delete=True,
type='Vanillanet',
act_num=4,
dims=[
512, 512, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 4096,
4096
],
strides=[1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1],
out_indices=[0, 1, 8, 10],
norm_cfg=dict(type='BN', requires_grad=True),
with_extra_norm=True),
neck=dict(
type='FPN',
in_channels=[512, 1024, 2048, 4096],
out_channels=1024,
num_outs=4),
decode_head=dict(
type='FPNHead',
in_channels=[1024, 1024, 1024, 1024],
in_index=[0, 1, 2, 3],
feature_strides=[4, 8, 16, 32],
channels=512,
dropout_ratio=0.1,
num_classes=2,
norm_cfg=dict(type='BN', requires_grad=True),
align_corners=False,
loss_decode=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
train_cfg=dict(),
test_cfg=dict(mode='whole'))
dataset_type = 'WaterDataset'
data_root = 'E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl'
img_norm_cfg = dict(
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
crop_size = (512, 512)
train_pipeline = [
dict(type='LoadImageFromFile'),
dict(type='LoadAnnotations', reduce_zero_label=False),
dict(type='Resize', img_scale=(512, 512), ratio_range=(0.5, 2.0)),
dict(type='RandomCrop', crop_size=(512, 512), cat_max_ratio=0.75),
dict(type='RandomFlip', prob=0.5),
dict(type='PhotoMetricDistortion'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size=(512, 512), pad_val=0, seg_pad_val=255),
dict(type='DefaultFormatBundle'),
dict(type='Collect', keys=['img', 'gt_semantic_seg'])
]
test_pipeline = [
dict(type='LoadImageFromFile'),
dict(
type='MultiScaleFlipAug',
img_scale=(512, 512),
flip=False,
transforms=[
dict(type='Resize', keep_ratio=True),
dict(type='RandomFlip'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]
data = dict(
samples_per_gpu=8,
workers_per_gpu=1,
train=dict(
type='WaterDataset',
data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl',
img_dir='JPEGImages',
ann_dir='SegmentationClass',
split='ImageSets/Segmentation/train.txt',
pipeline=[
dict(type='LoadImageFromFile'),
dict(type='LoadAnnotations', reduce_zero_label=False),
dict(type='Resize', img_scale=(512, 512), ratio_range=(0.5, 2.0)),
dict(type='RandomCrop', crop_size=(512, 512), cat_max_ratio=0.75),
dict(type='RandomFlip', prob=0.5),
dict(type='PhotoMetricDistortion'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size=(512, 512), pad_val=0, seg_pad_val=255),
dict(type='DefaultFormatBundle'),
dict(type='Collect', keys=['img', 'gt_semantic_seg'])
]),
val=dict(
type='WaterDataset',
data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl',
img_dir='JPEGImages',
ann_dir='SegmentationClass',
split='ImageSets/Segmentation/val.txt',
pipeline=[
dict(type='LoadImageFromFile'),
dict(
type='MultiScaleFlipAug',
img_scale=(512, 512),
flip=False,
transforms=[
dict(type='Resize', keep_ratio=True),
dict(type='RandomFlip'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]),
test=dict(
type='WaterDataset',
data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl',
img_dir='JPEGImages',
ann_dir='SegmentationClass',
split='ImageSets/Segmentation/val.txt',
pipeline=[
dict(type='LoadImageFromFile'),
dict(
type='MultiScaleFlipAug',
img_scale=(512, 512),
flip=False,
transforms=[
dict(type='Resize', keep_ratio=True),
dict(type='RandomFlip'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]))
log_config = dict(
interval=20, hooks=[dict(type='TextLoggerHook', by_epoch=False)])
dist_params = dict(backend='nccl')
log_level = 'INFO'
load_from = None
resume_from = None
workflow = [('train', 1), ('val', 1)]
cudnn_benchmark = True
optimizer = dict(
constructor='LearningRateDecayOptimizerConstructor',
type='AdamW',
lr=0.00013,
betas=(0.9, 0.999),
weight_decay=0.05,
paramwise_cfg=dict(decay_rate=0.6, decay_type='layer_wise', num_layers=6))
optimizer_config = dict(grad_clip=None)
lr_config = dict(
policy='step',
warmup='linear',
warmup_iters=500,
warmup_ratio=0.001,
step=[15000, 20000])
runner = dict(type='IterBasedRunner', max_iters=20000)
checkpoint_config = dict(by_epoch=False, interval=2000)
evaluation = dict(interval=2000, metric='mIoU')
work_dir = 'E:\zbl\mmsegmentation-0.23.0\tools\logs_vanillanet\13'
gpu_ids = [0]
auto_resume = False
2023-06-30 16:38:59,145 - mmseg - INFO - Set random seed to<PHONE_NUMBER>, deterministic: False
2023-06-30 16:39:01,437 - mmseg - WARNING - No pre-trained weights for Vanillanet, training start from scratch
2023-06-30 16:39:02,380 - mmseg - INFO - initialize FPN with init_cfg {'type': 'Xavier', 'layer': 'Conv2d', 'distribution': 'uniform'}
2023-06-30 16:39:02,785 - mmseg - INFO - initialize FPNHead with init_cfg {'type': 'Normal', 'std': 0.01, 'override': {'name': 'conv_seg'}}
Name of parameter - Initialization information
backbone.stem1.0.weight - torch.Size([512, 3, 4, 4]):
Initialized by user-defined init_weights in Vanillanet
backbone.stem1.0.bias - torch.Size([512]):
Initialized by user-defined init_weights in Vanillanet
backbone.stem1.1.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stem1.1.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stem2.0.weight - torch.Size([512, 512, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stem2.0.bias - torch.Size([512]):
Initialized by user-defined init_weights in Vanillanet
backbone.stem2.1.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stem2.1.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stem2.2.weight - torch.Size([512, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stem2.2.bn.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stem2.2.bn.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.0.conv1.0.weight - torch.Size([512, 512, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.0.conv1.0.bias - torch.Size([512]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.0.conv1.1.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.0.conv1.1.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.0.conv2.0.weight - torch.Size([512, 512, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.0.conv2.0.bias - torch.Size([512]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.0.conv2.1.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.0.conv2.1.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.0.act.weight - torch.Size([512, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.0.act.bn.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.0.act.bn.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.1.conv1.0.weight - torch.Size([512, 512, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.1.conv1.0.bias - torch.Size([512]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.1.conv1.1.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.1.conv1.1.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.1.conv2.0.weight - torch.Size([1024, 512, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.1.conv2.0.bias - torch.Size([1024]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.1.conv2.1.weight - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.1.conv2.1.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.1.act.weight - torch.Size([1024, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.1.act.bn.weight - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.1.act.bn.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.2.conv1.0.weight - torch.Size([1024, 1024, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.2.conv1.0.bias - torch.Size([1024]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.2.conv1.1.weight - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.2.conv1.1.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.2.conv2.0.weight - torch.Size([2048, 1024, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.2.conv2.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.2.conv2.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.2.conv2.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.2.act.weight - torch.Size([2048, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.2.act.bn.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.2.act.bn.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.3.conv1.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.3.conv1.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.3.conv1.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.3.conv1.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.3.conv2.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.3.conv2.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.3.conv2.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.3.conv2.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.3.act.weight - torch.Size([2048, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.3.act.bn.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.3.act.bn.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.4.conv1.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.4.conv1.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.4.conv1.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.4.conv1.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.4.conv2.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.4.conv2.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.4.conv2.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.4.conv2.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.4.act.weight - torch.Size([2048, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.4.act.bn.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.4.act.bn.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.5.conv1.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.5.conv1.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.5.conv1.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.5.conv1.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.5.conv2.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.5.conv2.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.5.conv2.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.5.conv2.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.5.act.weight - torch.Size([2048, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.5.act.bn.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.5.act.bn.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.6.conv1.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.6.conv1.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.6.conv1.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.6.conv1.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.6.conv2.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.6.conv2.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.6.conv2.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.6.conv2.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.6.act.weight - torch.Size([2048, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.6.act.bn.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.6.act.bn.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.7.conv1.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.7.conv1.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.7.conv1.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.7.conv1.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.7.conv2.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.7.conv2.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.7.conv2.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.7.conv2.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.7.act.weight - torch.Size([2048, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.7.act.bn.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.7.act.bn.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.8.conv1.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.8.conv1.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.8.conv1.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.8.conv1.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.8.conv2.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.8.conv2.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.8.conv2.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.8.conv2.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.8.act.weight - torch.Size([2048, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.8.act.bn.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.8.act.bn.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.9.conv1.0.weight - torch.Size([2048, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.9.conv1.0.bias - torch.Size([2048]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.9.conv1.1.weight - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.9.conv1.1.bias - torch.Size([2048]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.9.conv2.0.weight - torch.Size([4096, 2048, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.9.conv2.0.bias - torch.Size([4096]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.9.conv2.1.weight - torch.Size([4096]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.9.conv2.1.bias - torch.Size([4096]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.9.act.weight - torch.Size([4096, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.9.act.bn.weight - torch.Size([4096]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.9.act.bn.bias - torch.Size([4096]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.10.conv1.0.weight - torch.Size([4096, 4096, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.10.conv1.0.bias - torch.Size([4096]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.10.conv1.1.weight - torch.Size([4096]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.10.conv1.1.bias - torch.Size([4096]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.10.conv2.0.weight - torch.Size([4096, 4096, 1, 1]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.10.conv2.0.bias - torch.Size([4096]):
Initialized by user-defined init_weights in Vanillanet
backbone.stages.10.conv2.1.weight - torch.Size([4096]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.10.conv2.1.bias - torch.Size([4096]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.10.act.weight - torch.Size([4096, 1, 9, 9]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.10.act.bn.weight - torch.Size([4096]):
The value is the same before and after calling init_weights of EncoderDecoder
backbone.stages.10.act.bn.bias - torch.Size([4096]):
The value is the same before and after calling init_weights of EncoderDecoder
neck.lateral_convs.0.conv.weight - torch.Size([1024, 512, 1, 1]):
XavierInit: gain=1, distribution=uniform, bias=0
neck.lateral_convs.0.conv.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
neck.lateral_convs.1.conv.weight - torch.Size([1024, 1024, 1, 1]):
XavierInit: gain=1, distribution=uniform, bias=0
neck.lateral_convs.1.conv.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
neck.lateral_convs.2.conv.weight - torch.Size([1024, 2048, 1, 1]):
XavierInit: gain=1, distribution=uniform, bias=0
neck.lateral_convs.2.conv.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
neck.lateral_convs.3.conv.weight - torch.Size([1024, 4096, 1, 1]):
XavierInit: gain=1, distribution=uniform, bias=0
neck.lateral_convs.3.conv.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
neck.fpn_convs.0.conv.weight - torch.Size([1024, 1024, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
neck.fpn_convs.0.conv.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
neck.fpn_convs.1.conv.weight - torch.Size([1024, 1024, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
neck.fpn_convs.1.conv.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
neck.fpn_convs.2.conv.weight - torch.Size([1024, 1024, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
neck.fpn_convs.2.conv.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
neck.fpn_convs.3.conv.weight - torch.Size([1024, 1024, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
neck.fpn_convs.3.conv.bias - torch.Size([1024]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.conv_seg.weight - torch.Size([2, 512, 1, 1]):
NormalInit: mean=0, std=0.01, bias=0
decode_head.conv_seg.bias - torch.Size([2]):
NormalInit: mean=0, std=0.01, bias=0
decode_head.scale_heads.0.0.conv.weight - torch.Size([512, 1024, 3, 3]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.0.0.bn.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.0.0.bn.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.1.0.conv.weight - torch.Size([512, 1024, 3, 3]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.1.0.bn.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.1.0.bn.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.2.0.conv.weight - torch.Size([512, 1024, 3, 3]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.2.0.bn.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.2.0.bn.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.2.2.conv.weight - torch.Size([512, 512, 3, 3]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.2.2.bn.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.2.2.bn.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.3.0.conv.weight - torch.Size([512, 1024, 3, 3]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.3.0.bn.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.3.0.bn.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.3.2.conv.weight - torch.Size([512, 512, 3, 3]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.3.2.bn.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.3.2.bn.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.3.4.conv.weight - torch.Size([512, 512, 3, 3]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.3.4.bn.weight - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
decode_head.scale_heads.3.4.bn.bias - torch.Size([512]):
The value is the same before and after calling init_weights of EncoderDecoder
2023-06-30 16:39:02,828 - mmseg - INFO - EncoderDecoder(
(backbone): Vanillanet(
(stem1): Sequential(
(0): Conv2d(3, 512, kernel_size=(4, 4), stride=(4, 4))
(1): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(stem2): Sequential(
(0): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
(2): activation(
(bn): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(stages): ModuleList(
(0): Block(
(conv1): Sequential(
(0): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): Identity()
(act): activation(
(bn): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(1): Block(
(conv1): Sequential(
(0): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(512, 1024, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(1024, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(act): activation(
(bn): _BatchNormXd(1024, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(2): Block(
(conv1): Sequential(
(0): Conv2d(1024, 1024, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(1024, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(act): activation(
(bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(3): Block(
(conv1): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): Identity()
(act): activation(
(bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(4): Block(
(conv1): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): Identity()
(act): activation(
(bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(5): Block(
(conv1): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): Identity()
(act): activation(
(bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(6): Block(
(conv1): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): Identity()
(act): activation(
(bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(7): Block(
(conv1): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): Identity()
(act): activation(
(bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(8): Block(
(conv1): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): Identity()
(act): activation(
(bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(9): Block(
(conv1): Sequential(
(0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(2048, 4096, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(4096, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(act): activation(
(bn): _BatchNormXd(4096, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
(10): Block(
(conv1): Sequential(
(0): Conv2d(4096, 4096, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(4096, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(conv2): Sequential(
(0): Conv2d(4096, 4096, kernel_size=(1, 1), stride=(1, 1))
(1): _BatchNormXd(4096, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
(pool): Identity()
(act): activation(
(bn): _BatchNormXd(4096, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
)
(neck): FPN(
(lateral_convs): ModuleList(
(0): ConvModule(
(conv): Conv2d(512, 1024, kernel_size=(1, 1), stride=(1, 1))
)
(1): ConvModule(
(conv): Conv2d(1024, 1024, kernel_size=(1, 1), stride=(1, 1))
)
(2): ConvModule(
(conv): Conv2d(2048, 1024, kernel_size=(1, 1), stride=(1, 1))
)
(3): ConvModule(
(conv): Conv2d(4096, 1024, kernel_size=(1, 1), stride=(1, 1))
)
)
(fpn_convs): ModuleList(
(0): ConvModule(
(conv): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): ConvModule(
(conv): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): ConvModule(
(conv): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): ConvModule(
(conv): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
)
init_cfg={'type': 'Xavier', 'layer': 'Conv2d', 'distribution': 'uniform'}
(decode_head): FPNHead(
input_transform=multiple_select, ignore_index=255, align_corners=False
(loss_decode): CrossEntropyLoss(avg_non_ignore=False)
(conv_seg): Conv2d(512, 2, kernel_size=(1, 1), stride=(1, 1))
(dropout): Dropout2d(p=0.1, inplace=False)
(scale_heads): ModuleList(
(0): Sequential(
(0): ConvModule(
(conv): Conv2d(1024, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(activate): ReLU(inplace=True)
)
)
(1): Sequential(
(0): ConvModule(
(conv): Conv2d(1024, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(activate): ReLU(inplace=True)
)
(1): Upsample()
)
(2): Sequential(
(0): ConvModule(
(conv): Conv2d(1024, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(activate): ReLU(inplace=True)
)
(1): Upsample()
(2): ConvModule(
(conv): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(activate): ReLU(inplace=True)
)
(3): Upsample()
)
(3): Sequential(
(0): ConvModule(
(conv): Conv2d(1024, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(activate): ReLU(inplace=True)
)
(1): Upsample()
(2): ConvModule(
(conv): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(activate): ReLU(inplace=True)
)
(3): Upsample()
(4): ConvModule(
(conv): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(activate): ReLU(inplace=True)
)
(5): Upsample()
)
)
)
init_cfg={'type': 'Normal', 'std': 0.01, 'override': {'name': 'conv_seg'}}
)
2023-06-30 16:39:02,845 - mmseg - INFO - Loaded 1341 images
2023-06-30 16:39:02,847 - mmseg - INFO - Loaded 178 images
2023-06-30 16:39:03,842 - mmseg - INFO - self.paramwise_cfg is {'decay_rate': 0.6, 'decay_type': 'layer_wise', 'num_layers': 6}
2023-06-30 16:39:03,842 - mmseg - INFO - Build LearningRateDecayOptimizerConstructor  layer_wise 0.6 - 8
2023-06-30 16:39:03,842 - mmseg - INFO - set param backbone.stem1.0.weight as id 0
2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem1.0.bias as id 0
2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem1.1.weight as id 0
2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem1.1.bias as id 0
2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.0.weight as id 0
2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.0.bias as id 0
2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.1.weight as id 0
2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.1.bias as id 0
2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.2.weight as id 0
2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.2.bn.weight as id 0
2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.2.bn.bias as id 0
2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv1.0.weight as id 1
2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv1.0.bias as id 1
2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv1.1.weight as id 1
2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv1.1.bias as id 1
2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv2.0.weight as id 1
2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv2.0.bias as id 1
2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv2.1.weight as id 1
2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv2.1.bias as id 1
2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.act.weight as id 1
2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.0.act.bn.weight as id 1
2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.0.act.bn.bias as id 1
2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv1.0.weight as id 1
2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv1.0.bias as id 1
2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv1.1.weight as id 1
2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv1.1.bias as id 1
2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv2.0.weight as id 1
2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv2.0.bias as id 1
2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv2.1.weight as id 1
2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv2.1.bias as id 1
2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.1.act.weight as id 1
2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.1.act.bn.weight as id 1
2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.1.act.bn.bias as id 1
2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv1.0.weight as id 2
2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv1.0.bias as id 2
2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv1.1.weight as id 2
2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv1.1.bias as id 2
2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv2.0.weight as id 2
2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv2.0.bias as id 2
2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv2.1.weight as id 2
2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.2.conv2.1.bias as id 2
2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.2.act.weight as id 2
2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.2.act.bn.weight as id 2
2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.2.act.bn.bias as id 2
2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.3.conv1.0.weight as id 2
2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.3.conv1.0.bias as id 2
2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.3.conv1.1.weight as id 2
2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.3.conv1.1.bias as id 2
2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.conv2.0.weight as id 2
2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.conv2.0.bias as id 2
2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.conv2.1.weight as id 2
2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.conv2.1.bias as id 2
2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.act.weight as id 2
2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.act.bn.weight as id 2
2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.act.bn.bias as id 2
2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.4.conv1.0.weight as id 3
2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.4.conv1.0.bias as id 3
2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.4.conv1.1.weight as id 3
2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.conv1.1.bias as id 3
2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.conv2.0.weight as id 3
2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.conv2.0.bias as id 3
2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.conv2.1.weight as id 3
2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.conv2.1.bias as id 3
2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.act.weight as id 3
2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.act.bn.weight as id 3
2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.act.bn.bias as id 3
2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.5.conv1.0.weight as id 3
2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv1.0.bias as id 3
2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv1.1.weight as id 3
2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv1.1.bias as id 3
2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv2.0.weight as id 3
2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv2.0.bias as id 3
2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv2.1.weight as id 3
2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv2.1.bias as id 3
2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.act.weight as id 3
2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.act.bn.weight as id 3
2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.act.bn.bias as id 3
2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv1.0.weight as id 4
2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv1.0.bias as id 4
2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv1.1.weight as id 4
2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv1.1.bias as id 4
2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv2.0.weight as id 4
2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv2.0.bias as id 4
2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv2.1.weight as id 4
2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv2.1.bias as id 4
2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.act.weight as id 4
2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.act.bn.weight as id 4
2023-06-30 16:39:03,852 - mmseg - INFO - set param backbone.stages.6.act.bn.bias as id 4
2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv1.0.weight as id 4
2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv1.0.bias as id 4
2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv1.1.weight as id 4
2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv1.1.bias as id 4
2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv2.0.weight as id 4
2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv2.0.bias as id 4
2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.7.conv2.1.weight as id 4
2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.7.conv2.1.bias as id 4
2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.7.act.weight as id 4
2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.7.act.bn.weight as id 4
2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.7.act.bn.bias as id 4
2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.8.conv1.0.weight as id 5
2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.8.conv1.0.bias as id 5
2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.8.conv1.1.weight as id 5
2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.8.conv1.1.bias as id 5
2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.8.conv2.0.weight as id 5
2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.conv2.0.bias as id 5
2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.conv2.1.weight as id 5
2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.conv2.1.bias as id 5
2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.act.weight as id 5
2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.act.bn.weight as id 5
2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.act.bn.bias as id 5
2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.9.conv1.0.weight as id 5
2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.9.conv1.0.bias as id 5
2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.9.conv1.1.weight as id 5
2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.9.conv1.1.bias as id 5
2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.conv2.0.weight as id 5
2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.conv2.0.bias as id 5
2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.conv2.1.weight as id 5
2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.conv2.1.bias as id 5
2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.act.weight as id 5
2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.act.bn.weight as id 5
2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.act.bn.bias as id 5
2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.10.conv1.0.weight as id 6
2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.10.conv1.0.bias as id 6
2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv1.1.weight as id 6
2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv1.1.bias as id 6
2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv2.0.weight as id 6
2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv2.0.bias as id 6
2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv2.1.weight as id 6
2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv2.1.bias as id 6
2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.act.weight as id 6
2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.act.bn.weight as id 6
2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.act.bn.bias as id 6
2023-06-30 16:39:03,866 - mmseg - INFO - set param neck.lateral_convs.0.conv.weight as id 7
2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.0.conv.bias as id 7
2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.1.conv.weight as id 7
2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.1.conv.bias as id 7
2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.2.conv.weight as id 7
2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.2.conv.bias as id 7
2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.3.conv.weight as id 7
2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.lateral_convs.3.conv.bias as id 7
2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.0.conv.weight as id 7
2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.0.conv.bias as id 7
2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.1.conv.weight as id 7
2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.1.conv.bias as id 7
2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.2.conv.weight as id 7
2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.2.conv.bias as id 7
2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.3.conv.weight as id 7
2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.3.conv.bias as id 7
2023-06-30 16:39:03,879 - mmseg - INFO - set param decode_head.conv_seg.weight as id 7
2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.conv_seg.bias as id 7
2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.0.0.conv.weight as id 7
2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.0.0.bn.weight as id 7
2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.0.0.bn.bias as id 7
2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.1.0.conv.weight as id 7
2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.1.0.bn.weight as id 7
2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.1.0.bn.bias as id 7
2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.2.0.conv.weight as id 7
2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.2.0.bn.weight as id 7
2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.2.0.bn.bias as id 7
2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.2.2.conv.weight as id 7
2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.2.2.bn.weight as id 7
2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.2.2.bn.bias as id 7
2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.0.conv.weight as id 7
2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.0.bn.weight as id 7
2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.0.bn.bias as id 7
2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.2.conv.weight as id 7
2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.2.bn.weight as id 7
2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.2.bn.bias as id 7
2023-06-30 16:39:03,882 - mmseg - INFO - set param decode_head.scale_heads.3.4.conv.weight as id 7
2023-06-30 16:39:03,882 - mmseg - INFO - set param decode_head.scale_heads.3.4.bn.weight as id 7
2023-06-30 16:39:03,882 - mmseg - INFO - set param decode_head.scale_heads.3.4.bn.bias as id 7
2023-06-30 16:39:03,882 - mmseg - INFO - Param groups = {
"layer_0_decay": {
"param_names": [
"backbone.stem1.0.weight",
"backbone.stem2.0.weight",
"backbone.stem2.2.weight"
],
"lr_scale": 0.027993599999999993,
"lr": 3.639167999999999e-06,
"weight_decay": 0.05
},
"layer_0_no_decay": {
"param_names": [
"backbone.stem1.0.bias",
"backbone.stem1.1.weight",
"backbone.stem1.1.bias",
"backbone.stem2.0.bias",
"backbone.stem2.1.weight",
"backbone.stem2.1.bias",
"backbone.stem2.2.bn.weight",
"backbone.stem2.2.bn.bias"
],
"lr_scale": 0.027993599999999993,
"lr": 3.639167999999999e-06,
"weight_decay": 0.0
},
"layer_1_decay": {
"param_names": [
"backbone.stages.0.conv1.0.weight",
"backbone.stages.0.conv2.0.weight",
"backbone.stages.0.act.weight",
"backbone.stages.1.conv1.0.weight",
"backbone.stages.1.conv2.0.weight",
"backbone.stages.1.act.weight"
],
"lr_scale": 0.04665599999999999,
"lr": 6.065279999999998e-06,
"weight_decay": 0.05
},
"layer_1_no_decay": {
"param_names": [
"backbone.stages.0.conv1.0.bias",
"backbone.stages.0.conv1.1.weight",
"backbone.stages.0.conv1.1.bias",
"backbone.stages.0.conv2.0.bias",
"backbone.stages.0.conv2.1.weight",
"backbone.stages.0.conv2.1.bias",
"backbone.stages.0.act.bn.weight",
"backbone.stages.0.act.bn.bias",
"backbone.stages.1.conv1.0.bias",
"backbone.stages.1.conv1.1.weight",
"backbone.stages.1.conv1.1.bias",
"backbone.stages.1.conv2.0.bias",
"backbone.stages.1.conv2.1.weight",
"backbone.stages.1.conv2.1.bias",
"backbone.stages.1.act.bn.weight",
"backbone.stages.1.act.bn.bias"
],
"lr_scale": 0.04665599999999999,
"lr": 6.065279999999998e-06,
"weight_decay": 0.0
},
"layer_2_decay": {
"param_names": [
"backbone.stages.2.conv1.0.weight",
"backbone.stages.2.conv2.0.weight",
"backbone.stages.2.act.weight",
"backbone.stages.3.conv1.0.weight",
"backbone.stages.3.conv2.0.weight",
"backbone.stages.3.act.weight"
],
"lr_scale": 0.07775999999999998,
"lr": 1.0108799999999997e-05,
"weight_decay": 0.05
},
"layer_2_no_decay": {
"param_names": [
"backbone.stages.2.conv1.0.bias",
"backbone.stages.2.conv1.1.weight",
"backbone.stages.2.conv1.1.bias",
"backbone.stages.2.conv2.0.bias",
"backbone.stages.2.conv2.1.weight",
"backbone.stages.2.conv2.1.bias",
"backbone.stages.2.act.bn.weight",
"backbone.stages.2.act.bn.bias",
"backbone.stages.3.conv1.0.bias",
"backbone.stages.3.conv1.1.weight",
"backbone.stages.3.conv1.1.bias",
"backbone.stages.3.conv2.0.bias",
"backbone.stages.3.conv2.1.weight",
"backbone.stages.3.conv2.1.bias",
"backbone.stages.3.act.bn.weight",
"backbone.stages.3.act.bn.bias"
],
"lr_scale": 0.07775999999999998,
"lr": 1.0108799999999997e-05,
"weight_decay": 0.0
},
"layer_3_decay": {
"param_names": [
"backbone.stages.4.conv1.0.weight",
"backbone.stages.4.conv2.0.weight",
"backbone.stages.4.act.weight",
"backbone.stages.5.conv1.0.weight",
"backbone.stages.5.conv2.0.weight",
"backbone.stages.5.act.weight"
],
"lr_scale": 0.1296,
"lr": 1.6848e-05,
"weight_decay": 0.05
},
"layer_3_no_decay": {
"param_names": [
"backbone.stages.4.conv1.0.bias",
"backbone.stages.4.conv1.1.weight",
"backbone.stages.4.conv1.1.bias",
"backbone.stages.4.conv2.0.bias",
"backbone.stages.4.conv2.1.weight",
"backbone.stages.4.conv2.1.bias",
"backbone.stages.4.act.bn.weight",
"backbone.stages.4.act.bn.bias",
"backbone.stages.5.conv1.0.bias",
"backbone.stages.5.conv1.1.weight",
"backbone.stages.5.conv1.1.bias",
"backbone.stages.5.conv2.0.bias",
"backbone.stages.5.conv2.1.weight",
"backbone.stages.5.conv2.1.bias",
"backbone.stages.5.act.bn.weight",
"backbone.stages.5.act.bn.bias"
],
"lr_scale": 0.1296,
"lr": 1.6848e-05,
"weight_decay": 0.0
},
"layer_4_decay": {
"param_names": [
"backbone.stages.6.conv1.0.weight",
"backbone.stages.6.conv2.0.weight",
"backbone.stages.6.act.weight",
"backbone.stages.7.conv1.0.weight",
"backbone.stages.7.conv2.0.weight",
"backbone.stages.7.act.weight"
],
"lr_scale": 0.21599999999999997,
"lr": 2.8079999999999992e-05,
"weight_decay": 0.05
},
"layer_4_no_decay": {
"param_names": [
"backbone.stages.6.conv1.0.bias",
"backbone.stages.6.conv1.1.weight",
"backbone.stages.6.conv1.1.bias",
"backbone.stages.6.conv2.0.bias",
"backbone.stages.6.conv2.1.weight",
"backbone.stages.6.conv2.1.bias",
"backbone.stages.6.act.bn.weight",
"backbone.stages.6.act.bn.bias",
"backbone.stages.7.conv1.0.bias",
"backbone.stages.7.conv1.1.weight",
"backbone.stages.7.conv1.1.bias",
"backbone.stages.7.conv2.0.bias",
"backbone.stages.7.conv2.1.weight",
"backbone.stages.7.conv2.1.bias",
"backbone.stages.7.act.bn.weight",
"backbone.stages.7.act.bn.bias"
],
"lr_scale": 0.21599999999999997,
"lr": 2.8079999999999992e-05,
"weight_decay": 0.0
},
"layer_5_decay": {
"param_names": [
"backbone.stages.8.conv1.0.weight",
"backbone.stages.8.conv2.0.weight",
"backbone.stages.8.act.weight",
"backbone.stages.9.conv1.0.weight",
"backbone.stages.9.conv2.0.weight",
"backbone.stages.9.act.weight"
],
"lr_scale": 0.36,
"lr": 4.679999999999999e-05,
"weight_decay": 0.05
},
"layer_5_no_decay": {
"param_names": [
"backbone.stages.8.conv1.0.bias",
"backbone.stages.8.conv1.1.weight",
"backbone.stages.8.conv1.1.bias",
"backbone.stages.8.conv2.0.bias",
"backbone.stages.8.conv2.1.weight",
"backbone.stages.8.conv2.1.bias",
"backbone.stages.8.act.bn.weight",
"backbone.stages.8.act.bn.bias",
"backbone.stages.9.conv1.0.bias",
"backbone.stages.9.conv1.1.weight",
"backbone.stages.9.conv1.1.bias",
"backbone.stages.9.conv2.0.bias",
"backbone.stages.9.conv2.1.weight",
"backbone.stages.9.conv2.1.bias",
"backbone.stages.9.act.bn.weight",
"backbone.stages.9.act.bn.bias"
],
"lr_scale": 0.36,
"lr": 4.679999999999999e-05,
"weight_decay": 0.0
},
"layer_6_decay": {
"param_names": [
"backbone.stages.10.conv1.0.weight",
"backbone.stages.10.conv2.0.weight",
"backbone.stages.10.act.weight"
],
"lr_scale": 0.6,
"lr": 7.799999999999999e-05,
"weight_decay": 0.05
},
"layer_6_no_decay": {
"param_names": [
"backbone.stages.10.conv1.0.bias",
"backbone.stages.10.conv1.1.weight",
"backbone.stages.10.conv1.1.bias",
"backbone.stages.10.conv2.0.bias",
"backbone.stages.10.conv2.1.weight",
"backbone.stages.10.conv2.1.bias",
"backbone.stages.10.act.bn.weight",
"backbone.stages.10.act.bn.bias"
],
"lr_scale": 0.6,
"lr": 7.799999999999999e-05,
"weight_decay": 0.0
},
"layer_7_decay": {
"param_names": [
"neck.lateral_convs.0.conv.weight",
"neck.lateral_convs.1.conv.weight",
"neck.lateral_convs.2.conv.weight",
"neck.lateral_convs.3.conv.weight",
"neck.fpn_convs.0.conv.weight",
"neck.fpn_convs.1.conv.weight",
"neck.fpn_convs.2.conv.weight",
"neck.fpn_convs.3.conv.weight",
"decode_head.conv_seg.weight",
"decode_head.scale_heads.0.0.conv.weight",
"decode_head.scale_heads.1.0.conv.weight",
"decode_head.scale_heads.2.0.conv.weight",
"decode_head.scale_heads.2.2.conv.weight",
"decode_head.scale_heads.3.0.conv.weight",
"decode_head.scale_heads.3.2.conv.weight",
"decode_head.scale_heads.3.4.conv.weight"
],
"lr_scale": 1.0,
"lr": 0.00013,
"weight_decay": 0.05
},
"layer_7_no_decay": {
"param_names": [
"neck.lateral_convs.0.conv.bias",
"neck.lateral_convs.1.conv.bias",
"neck.lateral_convs.2.conv.bias",
"neck.lateral_convs.3.conv.bias",
"neck.fpn_convs.0.conv.bias",
"neck.fpn_convs.1.conv.bias",
"neck.fpn_convs.2.conv.bias",
"neck.fpn_convs.3.conv.bias",
"decode_head.conv_seg.bias",
"decode_head.scale_heads.0.0.bn.weight",
"decode_head.scale_heads.0.0.bn.bias",
"decode_head.scale_heads.1.0.bn.weight",
"decode_head.scale_heads.1.0.bn.bias",
"decode_head.scale_heads.2.0.bn.weight",
"decode_head.scale_heads.2.0.bn.bias",
"decode_head.scale_heads.2.2.bn.weight",
"decode_head.scale_heads.2.2.bn.bias",
"decode_head.scale_heads.3.0.bn.weight",
"decode_head.scale_heads.3.0.bn.bias",
"decode_head.scale_heads.3.2.bn.weight",
"decode_head.scale_heads.3.2.bn.bias",
"decode_head.scale_heads.3.4.bn.weight",
"decode_head.scale_heads.3.4.bn.bias"
],
"lr_scale": 1.0,
"lr": 0.00013,
"weight_decay": 0.0
}
}
2023-06-30 16:39:03,896 - mmseg - INFO - Loaded 178 images
2023-06-30 16:39:03,897 - mmseg - INFO - Start running, host: admin@DESKTOP-DS4MTUV, work_dir: E:\zbl\mmsegmentation-0.23.0\tools\logs_vanillanet\13
2023-06-30 16:39:03,897 - mmseg - INFO - Hooks will be executed in the following order:
before_run:
(VERY_HIGH   ) StepLrUpdaterHook
(NORMAL      ) CheckpointHook
(LOW         ) EvalHook
(VERY_LOW    ) TextLoggerHook
before_train_epoch:
(VERY_HIGH   ) StepLrUpdaterHook
(LOW         ) IterTimerHook
(LOW         ) EvalHook
(VERY_LOW    ) TextLoggerHook
before_train_iter:
(VERY_HIGH   ) StepLrUpdaterHook
(LOW         ) IterTimerHook
(LOW         ) EvalHook
after_train_iter:
(ABOVE_NORMAL) OptimizerHook
(NORMAL      ) CheckpointHook
(LOW         ) IterTimerHook
(LOW         ) EvalHook
(VERY_LOW    ) TextLoggerHook
after_train_epoch:
(NORMAL      ) CheckpointHook
(LOW         ) EvalHook
(VERY_LOW    ) TextLoggerHook
before_val_epoch:
(LOW         ) IterTimerHook
(VERY_LOW    ) TextLoggerHook
before_val_iter:
(LOW         ) IterTimerHook
after_val_iter:
(LOW         ) IterTimerHook
after_val_epoch:
(VERY_LOW    ) TextLoggerHook
after_run:
(VERY_LOW    ) TextLoggerHook
2023-06-30 16:39:03,898 - mmseg - INFO - workflow: [('train', 1), ('val', 1)], max: 20000 iters
2023-06-30 16:39:03,898 - mmseg - INFO - Checkpoints will be saved to E:\zbl\mmsegmentation-0.23.0\tools\logs_vanillanet\13 by HardDiskBackend.
2023-06-30 16:40:00,779 - mmseg - INFO - Iter [20/20000]	lr: 1.418e-07, eta: 5:18:40, time: 0.957, data_time: 0.008, memory: 21203, decode.loss_ce: 0.5422, decode.acc_seg: 39.8719, loss: 0.5422
2023-06-30 16:40:40,739 - mmseg - INFO - Iter [40/20000]	lr: 2.872e-07, eta: 5:19:25, time: 0.963, data_time: 0.007, memory: 21203, decode.loss_ce: 0.7923, decode.acc_seg: 47.3142, loss: 0.7923
2023-06-30 16:41:21,888 - mmseg - INFO - Iter [60/20000]	lr: 4.326e-07, eta: 5:20:22, time: 0.972, data_time: 0.009, memory: 21203, decode.loss_ce: 0.8685, decode.acc_seg: 57.3759, loss: 0.8685

你可以参考这个config的写法https://github.com/huawei-noah/VanillaNet/blob/main/object_detection/configs/vanillanet/mask_rcnn_vanillanet_13_mstrain_480-1024_adamw.py#L26，把init_cfg=dict(type='Pretrained', checkpoint=checkpoint_file)) 放到 backbone的dict中。

非常感谢您之前的回复！您的网络效果很不错！
想问一句，将预训练权重放在 backbone的dict与其他加载预训练的方式有什么区别吗？
为什么放在dict里就好使了？
期待回复！

没有区别，只是我用的mmdet的版本他们把接口放在了dict里面，我只是调用他们的接口，当然你也可以自己写一个去load ckpt，都是没有区别的。


Prepare for 0.15.4 release

needed to pick up --dev_samples in gapic-generator (https://github.com/googleapis/gapic-generator/pull/2304)

It allowed me restart it, just ping again if it's locking you out and between the three of us we'll eventually get it.

Yay, it worked. I have to be OOO the rest of the day, though, so I'll continue the process on Monday.


Introduce keys command (this is great piece of software)

I dont really need the command, but it could be useful for someone.
KEYS pattern
https://redis.io/docs/latest/commands/keys/
Your software performs really well. Good job! :)
Other notes:
I like that:

compression of data is enabled by default
does not generate large log files as in may other projects (that also rely on rocksdb)
very low RAM usage

I have 16K keys loaded.
Here I am doing some heavy lookups:

The performance metrics for command HGETALL is between 100000 ns and 220000 ns, but mostly around 120000 ns in my Java program.
In other words, we are talking about 0.1 and 0.22 milliseconds. With the aerospike db, I was able to get to 0.05 millisecond with the free open-source edition, so no data compression.
FYI, my hdd is a "nvme0n1  WD_BLACK SN850X 1000GB"

Thanks for the feedback. If you have other commands that you are missing - please open a bug / issue per command and I will do my best to add them


Update lexeu-competition.md

I have corrected the spelling of gather in the documentation

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

this was a docs update i have corrected the typos like gathe in gather

Why was this change needed? (You can also link to an open issue here)
it's a typo and this is wrong

Other information:

@holopin-bot @ANDROIDHASSAN Thank you!


Decouple postgres adapter from plugin service

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

8 of 12 (66.67%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 75.093%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

job/service.go
4
6
66.67%

service/job_run_service.go
4
6
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
6033

Relevant Lines:
8034

💛  - Coveralls


[CHALLENGE SUBMISSION]

Please provide the following information for your submission:
What is your name? (First, Last)
Gwyneth Pena
Where is your GitHub Repo ?(With your challenge solution)
https://github.com/madebygps/25-days-of-serverless-2019/tree/master/day_04
What Challenge is this for? (Challenge number between 1 and 25)
4
(Optional) Anything else we should know? e.g., language used, location, blog post?
I used  .net Azure Functions, C#, MongoDB Azure Function Bindings and MongoDB atlas cluster free tier deployed on Azure.
Twitter thread can be found here

THANK YOU FOR YOUR #25DaysOfServerless SUBMISSION
We checked out your repository. We're thrilled to say your solution is now listed in our Hall of Fame
Thank you for your contributions!
This issue is now resolved! 🎉


[FEATURE REQUEST] AMD acceleration support

Is your feature request related to a problem? Please describe.
It would be awesome if AMD GPUs/APUs were supported.
Describe the solution you'd like
I believe for other ML projects such as LocalAI etc... CLBLAS is used.
Describe alternatives you've considered
Winning the lotto so I can afford an nvidia card.
Additional context
Add any other context or screenshots about the feature request here.

Ahh I see, interesting.
I'm happy to test it with my setup:

AMD Ryzen 7600 (combined CPU/GPU)
Docker on Fedora 38

I am willing to test:
Windows 11 / Manjaro Linux + AMD 5900X + AMD 6900 XT GPU.
Using PyTorch ROCM works OK with SD and Automatic's Web UI so I hope this will be portable enough.

Can confirm AudioLDM/AudioLDM2/AudioCraft are working well on RX 6800XT with ROCM 5.6.1 and Linux Mint. Needed to uninstall the default installed cu11 Torch libraries and reinstall rocm ones.


Really hide the LazyDoc argument

I'm not sure about this change, but it does eliminate
a potential programming mistake.  Typecasing is known
to be an effect in general, but here it seems harmless.
WDYT?

Codecov Report

Merging #105 into master will decrease coverage by 1%.
The diff coverage is 33.33%.

@@            Coverage Diff            @@
##           master    #105      +/-   ##
=========================================
- Coverage   97.21%   96.2%   -1.01%
=========================================
  Files           6       6
  Lines         287     290       +3
  Branches       40      35       -5
=========================================
  Hits          279     279
- Misses          8      11       +3

Impacted Files
Coverage Δ

...re/src/main/scala/org/typelevel/paiges/Chunk.scala
96.42% <100%> (ø)
:arrow_up:

core/src/main/scala/org/typelevel/paiges/Doc.scala
95.6% <25%> (-1.42%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 99124e1...80f0cc8. Read the comment docs.

@johnynek One reason I'm excited to help with this project is to learn good Scala conventions from the experts.  Do you think this is a good change, modulo fixes above?  On the one hand it's nice to help us not make mistakes with the contained function, like I did in the FlatAlt review.  On the other, it makes the pattern matching unusual, which is not good, other things being equal.  I'm happy to drop it, or learn a better way to disallow getting case class arguments out of a pattern match.

Yeah I think you are right that the Product methods are ugly here (and in general in scala. Lots of warts in the language). If we make Doc not explicitly extend Product I think you can remove them.

I'm happy with this change now.  It retains the previous functionality that protected users from performance mistakes, but adds that guarantee for the library authors as well simply by reifying the thunk and morally hiding apply.  Furthermore there is no Product awfulness.

Thanks!